1
2 package org.apache.shardingsphere.sql.parser.autogen;
3 import org.antlr.v4.runtime.atn.*;
4 import org.antlr.v4.runtime.dfa.DFA;
5 import org.antlr.v4.runtime.*;
6 import org.antlr.v4.runtime.misc.*;
7 import org.antlr.v4.runtime.tree.*;
8 import java.util.List;
9 import java.util.Iterator;
10 import java.util.ArrayList;
11
12 @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
13 public class HiveStatementParser extends Parser {
14 static { RuntimeMetaData.checkVersion("4.10.1", RuntimeMetaData.VERSION); }
15
16 protected static final DFA[] _decisionToDFA;
17 protected static final PredictionContextCache _sharedContextCache =
18 new PredictionContextCache();
19 public static final int
20 BLOCK_COMMENT=1, INLINE_COMMENT=2, AND_=3, OR_=4, NOT_=5, TILDE_=6, VERTICAL_BAR_=7,
21 AMPERSAND_=8, SIGNED_LEFT_SHIFT_=9, SIGNED_RIGHT_SHIFT_=10, CARET_=11,
22 MOD_=12, COLON_=13, PLUS_=14, MINUS_=15, ASTERISK_=16, SLASH_=17, BACKSLASH_=18,
23 DOT_=19, DOT_ASTERISK_=20, SAFE_EQ_=21, DEQ_=22, EQ_=23, NEQ_=24, GT_=25,
24 GTE_=26, LT_=27, LTE_=28, POUND_=29, LP_=30, RP_=31, LBE_=32, RBE_=33,
25 LBT_=34, RBT_=35, COMMA_=36, DQ_=37, SQ_=38, BQ_=39, QUESTION_=40, AT_=41,
26 SEMI_=42, ASSIGNMENT_=43, JSON_SEPARATOR=44, JSON_UNQUOTED_SEPARATOR=45,
27 WS=46, MAX=47, MIN=48, SUM=49, COUNT=50, GROUP_CONCAT=51, CAST=52, POSITION=53,
28 SUBSTRING=54, SUBSTR=55, EXTRACT=56, TRIM=57, LAST_DAY=58, TRADITIONAL=59,
29 TREE=60, MYSQL_MAIN=61, MYSQL_ADMIN=62, INSTANT=63, INPLACE=64, COPY=65,
30 UL_BINARY=66, AUTOCOMMIT=67, INNODB=68, REDO_LOG=69, DELIMITER=70, FOR_GENERATOR=71,
31 ACCESSIBLE=72, ACCOUNT=73, ACTION=74, ACTIVE=75, ADD=76, ADMIN=77, AFTER=78,
32 AGAINST=79, AGGREGATE=80, ALGORITHM=81, ALL=82, ALTER=83, ALWAYS=84, ANALYZE=85,
33 AND=86, ANY=87, ARRAY=88, AS=89, ASC=90, ASCII=91, ASENSITIVE=92, AT=93,
34 ATTRIBUTE=94, AUTOEXTEND_SIZE=95, AUTO_INCREMENT=96, AVG=97, ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS=98,
35 BIT_XOR=99, AVG_ROW_LENGTH=100, BACKUP=101, BEFORE=102, BEGIN=103, BETWEEN=104,
36 BIGINT=105, BINARY=106, BINLOG=107, BIT=108, BLOB=109, BLOCK=110, BOOL=111,
37 BOOLEAN=112, BOTH=113, BTREE=114, BUCKETS=115, BY=116, BYTE=117, CACHE=118,
38 CALL=119, CASCADE=120, CASCADED=121, CASE=122, CATALOG_NAME=123, CHAIN=124,
39 CHANGE=125, CHANGED=126, CHANNEL=127, CHAR=128, CHAR_VARYING=129, CHARACTER=130,
40 CHARACTER_VARYING=131, CHARSET=132, CHECK=133, CHECKSUM=134, CIPHER=135,
41 CLASS_ORIGIN=136, CLIENT=137, CLONE=138, CLOSE=139, COALESCE=140, CODE=141,
42 COLLATE=142, COLLATION=143, COLUMN=144, COLUMNS=145, COLUMN_FORMAT=146,
43 COLUMN_NAME=147, COMMENT=148, COMMIT=149, COMMITTED=150, COMPACT=151,
44 COMPLETION=152, COMPONENT=153, COMPRESSED=154, COMPRESSION=155, CONCURRENT=156,
45 CONDITION=157, CONNECTION=158, CONSISTENT=159, CONSTRAINT=160, CONSTRAINT_CATALOG=161,
46 CONSTRAINT_NAME=162, CONSTRAINT_SCHEMA=163, CONTAINS=164, CONTEXT=165,
47 CONTINUE=166, CONVERT=167, CPU=168, CREATE=169, CROSS=170, CUBE=171, CUME_DIST=172,
48 CURRENT=173, CURRENT_DATE=174, CURRENT_TIME=175, CURRENT_TIMESTAMP=176,
49 CURRENT_USER=177, CURSOR=178, CURSOR_NAME=179, DATA=180, DATABASE=181,
50 DATABASES=182, DATAFILE=183, DATE=184, DATETIME=185, DAY=186, DAY_HOUR=187,
51 DAY_MICROSECOND=188, DAY_MINUTE=189, DAY_SECOND=190, DEALLOCATE=191, DEC=192,
52 DECIMAL=193, DECLARE=194, DEFAULT=195, DEFAULT_AUTH=196, DEFINER=197,
53 DEFINITION=198, DELAYED=199, DELAY_KEY_WRITE=200, DELETE=201, DENSE_RANK=202,
54 DESC=203, DESCRIBE=204, DESCRIPTION=205, DETERMINISTIC=206, DIAGNOSTICS=207,
55 DIRECTORY=208, DISABLE=209, DISCARD=210, DISK=211, DISTINCT=212, DISTINCTROW=213,
56 DIV=214, DO=215, DOUBLE=216, DROP=217, DUAL=218, DUMPFILE=219, DUPLICATE=220,
57 DYNAMIC=221, EACH=222, ELSE=223, ELSEIF=224, EMPTY=225, ENABLE=226, ENCLOSED=227,
58 ENCRYPTION=228, END=229, ENDS=230, ENFORCED=231, ENGINE=232, ENGINES=233,
59 ENGINE_ATTRIBUTE=234, ENUM=235, ERROR=236, ERRORS=237, ESCAPE=238, ESCAPED=239,
60 EVENT=240, EVENTS=241, EVERY=242, EXCEPT=243, EXCHANGE=244, EXCLUDE=245,
61 EXECUTE=246, EXISTS=247, EXIT=248, EXPANSION=249, EXPIRE=250, EXPLAIN=251,
62 EXPORT=252, EXTENDED=253, EXTENT_SIZE=254, FAILED_LOGIN_ATTEMPTS=255,
63 FALSE=256, FAST=257, FAULTS=258, FETCH=259, FILE=260, FILE_BLOCK_SIZE=261,
64 FILTER=262, FIRST=263, FIRST_VALUE=264, FIXED=265, FLOAT=266, FLOAT4=267,
65 FLOAT8=268, FLUSH=269, FOLLOWING=270, FOLLOWS=271, FOR=272, FORCE=273,
66 FOREIGN=274, FORMAT=275, FOUND=276, FROM=277, FULL=278, FULLTEXT=279,
67 FUNCTION=280, GENERAL=281, GENERATED=282, GEOMETRY=283, GEOMCOLLECTION=284,
68 GEOMETRYCOLLECTION=285, GET=286, GET_FORMAT=287, GET_MASTER_PUBLIC_KEY=288,
69 GLOBAL=289, GRANT=290, GRANTS=291, GROUP=292, GROUPING=293, GROUPS=294,
70 GROUP_REPLICATION=295, GET_SOURCE_PUBLIC_KEY=296, GTID_ONLY=297, GENERATE=298,
71 HANDLER=299, HASH=300, HAVING=301, HELP=302, HIGH_PRIORITY=303, HISTOGRAM=304,
72 HISTORY=305, HOST=306, HOSTS=307, HOUR=308, HOUR_MICROSECOND=309, HOUR_MINUTE=310,
73 HOUR_SECOND=311, IDENTIFIED=312, IF=313, IGNORE=314, IGNORE_SERVER_IDS=315,
74 IMPORT=316, IN=317, INACTIVE=318, INDEX=319, INDEXES=320, INFILE=321,
75 INITIAL_SIZE=322, INNER=323, INOUT=324, INSENSITIVE=325, INSERT=326, INSERT_METHOD=327,
76 INSTALL=328, INSTANCE=329, INT=330, INT1=331, INT2=332, INT3=333, INT4=334,
77 INT8=335, INTEGER=336, INTERVAL=337, INTO=338, INVISIBLE=339, INVOKER=340,
78 IO=341, IO_AFTER_GTIDS=342, IO_BEFORE_GTIDS=343, IPC=344, IS=345, ISOLATION=346,
79 ISSUER=347, ITERATE=348, JOIN=349, JSON=350, JSON_TABLE=351, JSON_VALUE=352,
80 KEY=353, KEYS=354, KEY_BLOCK_SIZE=355, KILL=356, LAG=357, LANGUAGE=358,
81 LAST=359, LAST_VALUE=360, LATERAL=361, LEAD=362, LEADING=363, LEAVE=364,
82 LEAVES=365, LEFT=366, LESS=367, LEVEL=368, LIKE=369, LIMIT=370, LINEAR=371,
83 LINES=372, LINESTRING=373, LIST=374, LOAD=375, LOCAL=376, LOCALTIME=377,
84 LOCALTIMESTAMP=378, LOCK=379, LOCKED=380, LOCKS=381, LOGFILE=382, LOGS=383,
85 LONG=384, LONGBLOB=385, LONGTEXT=386, LONG_CHAR_VARYING=387, LONG_VARCHAR=388,
86 LOOP=389, LOW_PRIORITY=390, MASTER=391, MASTER_AUTO_POSITION=392, MASTER_BIND=393,
87 MASTER_COMPRESSION_ALGORITHM=394, MASTER_CONNECT_RETRY=395, MASTER_DELAY=396,
88 MASTER_HEARTBEAT_PERIOD=397, MASTER_HOST=398, MASTER_LOG_FILE=399, MASTER_LOG_POS=400,
89 MASTER_PASSWORD=401, MASTER_PORT=402, MASTER_PUBLIC_KEY_PATH=403, MASTER_RETRY_COUNT=404,
90 MASTER_SERVER_ID=405, MASTER_SSL=406, MASTER_SSL_CA=407, MASTER_SSL_CAPATH=408,
91 MASTER_SSL_CERT=409, MASTER_SSL_CIPHER=410, MASTER_SSL_CRL=411, MASTER_SSL_CRLPATH=412,
92 MASTER_SSL_KEY=413, MASTER_SSL_VERIFY_SERVER_CERT=414, MASTER_TLS_CIPHERSUITES=415,
93 MASTER_TLS_VERSION=416, MASTER_USER=417, MASTER_ZSTD_COMPRESSION_LEVEL=418,
94 MATCH=419, MAXVALUE=420, MAX_CONNECTIONS_PER_HOUR=421, MAX_QUERIES_PER_HOUR=422,
95 MAX_ROWS=423, MAX_SIZE=424, MAX_UPDATES_PER_HOUR=425, MAX_USER_CONNECTIONS=426,
96 MEDIUM=427, MEDIUMBLOB=428, MEDIUMINT=429, MEDIUMTEXT=430, MEMBER=431,
97 MEMORY=432, MERGE=433, MESSAGE_TEXT=434, MICROSECOND=435, MIDDLEINT=436,
98 MIGRATE=437, MINUTE=438, MINUTE_MICROSECOND=439, MINUTE_SECOND=440, MIN_ROWS=441,
99 MOD=442, MODE=443, MODIFIES=444, MODIFY=445, MONTH=446, MULTILINESTRING=447,
100 MULTIPOINT=448, MULTIPOLYGON=449, MUTEX=450, MYSQL_ERRNO=451, NAME=452,
101 NAMES=453, NATIONAL=454, NATIONAL_CHAR=455, NATIONAL_CHAR_VARYING=456,
102 NATURAL=457, NCHAR=458, NDBCLUSTER=459, NESTED=460, NETWORK_NAMESPACE=461,
103 NEVER=462, NEW=463, NEXT=464, NO=465, NODEGROUP=466, NONE=467, SHARED=468,
104 EXCLUSIVE=469, NOT=470, NOWAIT=471, NO_WAIT=472, NO_WRITE_TO_BINLOG=473,
105 NTH_VALUE=474, NTILE=475, NULL=476, NULLS=477, NUMBER=478, NUMERIC=479,
106 NVARCHAR=480, OF=481, OFF=482, OFFSET=483, OJ=484, OLD=485, ON=486, ONE=487,
107 ONLY=488, OPEN=489, OPTIMIZE=490, OPTIMIZER_COSTS=491, OPTION=492, OPTIONAL=493,
108 OPTIONALLY=494, OPTIONS=495, OR=496, ORDER=497, ORDINALITY=498, ORGANIZATION=499,
109 OTHERS=500, OUT=501, OUTER=502, OUTFILE=503, OVER=504, OWNER=505, PACK_KEYS=506,
110 PAGE=507, PARSER=508, PARTIAL=509, PARTITION=510, PARTITIONING=511, PARTITIONS=512,
111 PASSWORD=513, PASSWORD_LOCK_TIME=514, PATH=515, PERCENT_RANK=516, PERSIST=517,
112 PERSIST_ONLY=518, PHASE=519, PLUGIN=520, PLUGINS=521, PLUGIN_DIR=522,
113 POINT=523, POLYGON=524, PORT=525, PRECEDES=526, PRECEDING=527, PRECISION=528,
114 PREPARE=529, PRESERVE=530, PREV=531, PRIMARY=532, PRIVILEGES=533, PRIVILEGE_CHECKS_USER=534,
115 PROCEDURE=535, PROCESS=536, PROCESSLIST=537, PROFILE=538, PROFILES=539,
116 PROXY=540, PURGE=541, QUARTER=542, QUERY=543, QUICK=544, RANDOM=545, RANGE=546,
117 RANK=547, READ=548, READS=549, READ_ONLY=550, READ_WRITE=551, REAL=552,
118 REBUILD=553, RECOVER=554, RECURSIVE=555, REDO_BUFFER_SIZE=556, REDUNDANT=557,
119 REFERENCE=558, REFERENCES=559, REGEXP=560, RELAY=561, RELAYLOG=562, RELAY_LOG_FILE=563,
120 RELAY_LOG_POS=564, RELAY_THREAD=565, RELEASE=566, RELOAD=567, REMOVE=568,
121 RENAME=569, REORGANIZE=570, REPAIR=571, REPEAT=572, REPEATABLE=573, REPLACE=574,
122 REPLICA=575, REPLICAS=576, REPLICATE_DO_DB=577, REPLICATE_DO_TABLE=578,
123 REPLICATE_IGNORE_DB=579, REPLICATE_IGNORE_TABLE=580, REPLICATE_REWRITE_DB=581,
124 REPLICATE_WILD_DO_TABLE=582, REPLICATE_WILD_IGNORE_TABLE=583, REPLICATION=584,
125 REQUIRE=585, REQUIRE_ROW_FORMAT=586, REQUIRE_TABLE_PRIMARY_KEY_CHECK=587,
126 RESET=588, RESIGNAL=589, RESOURCE=590, RESPECT=591, RESTART=592, RESTORE=593,
127 RESTRICT=594, RESUME=595, RETAIN=596, RETURN=597, RETURNED_SQLSTATE=598,
128 RETURNING=599, RETURNS=600, REUSE=601, REVERSE=602, REVOKE=603, RIGHT=604,
129 RLIKE=605, ROLE=606, ROLLBACK=607, ROLLUP=608, ROTATE=609, ROUTINE=610,
130 ROW=611, ROWS=612, ROW_COUNT=613, ROW_FORMAT=614, ROW_NUMBER=615, RTREE=616,
131 SAVEPOINT=617, SCHEDULE=618, SCHEMA=619, SCHEMAS=620, SCHEMA_NAME=621,
132 SECOND=622, SECONDARY=623, SECONDARY_ENGINE=624, SECONDARY_ENGINE_ATTRIBUTE=625,
133 SECONDARY_LOAD=626, SECONDARY_UNLOAD=627, SECOND_MICROSECOND=628, SECURITY=629,
134 SELECT=630, SENSITIVE=631, SEPARATOR=632, SERIAL=633, SERIALIZABLE=634,
135 SERVER=635, SESSION=636, SET=637, SHARE=638, SHOW=639, SHUTDOWN=640, SIGNAL=641,
136 SIGNED=642, SIGNED_INT=643, SIGNED_INTEGER=644, SIMPLE=645, SKIP_SYMBOL=646,
137 SLAVE=647, SLOW=648, SMALLINT=649, SNAPSHOT=650, SOCKET=651, SONAME=652,
138 SOUNDS=653, SOURCE=654, SPATIAL=655, SPECIFIC=656, SQL=657, SQLEXCEPTION=658,
139 SQLSTATE=659, SQLWARNING=660, SQL_AFTER_GTIDS=661, SQL_AFTER_MTS_GAPS=662,
140 SQL_BEFORE_GTIDS=663, SQL_BIG_RESULT=664, SQL_BUFFER_RESULT=665, SQL_CALC_FOUND_ROWS=666,
141 SQL_NO_CACHE=667, SQL_SMALL_RESULT=668, SQL_THREAD=669, SRID=670, SSL=671,
142 STACKED=672, START=673, STARTING=674, STARTS=675, STATS_AUTO_RECALC=676,
143 STATS_PERSISTENT=677, STATS_SAMPLE_PAGES=678, STATUS=679, STOP=680, STORAGE=681,
144 STORED=682, STRAIGHT_JOIN=683, STREAM=684, STRING=685, SUBCLASS_ORIGIN=686,
145 SUBJECT=687, SUBPARTITION=688, SUBPARTITIONS=689, SUPER=690, SUSPEND=691,
146 SWAPS=692, SWITCHES=693, SYSTEM=694, SOURCE_BIND=695, SOURCE_HOST=696,
147 SOURCE_USER=697, SOURCE_PASSWORD=698, SOURCE_PORT=699, SOURCE_LOG_FILE=700,
148 SOURCE_LOG_POS=701, SOURCE_AUTO_POSITION=702, SOURCE_HEARTBEAT_PERIOD=703,
149 SOURCE_CONNECT_RETRY=704, SOURCE_RETRY_COUNT=705, SOURCE_CONNECTION_AUTO_FAILOVER=706,
150 SOURCE_DELAY=707, SOURCE_COMPRESSION_ALGORITHMS=708, SOURCE_ZSTD_COMPRESSION_LEVEL=709,
151 SOURCE_SSL=710, SOURCE_SSL_CA=711, SOURCE_SSL_CAPATH=712, SOURCE_SSL_CERT=713,
152 SOURCE_SSL_CRL=714, SOURCE_SSL_CRLPATH=715, SOURCE_SSL_KEY=716, SOURCE_SSL_CIPHER=717,
153 SOURCE_SSL_VERIFY_SERVER_CERT=718, SOURCE_TLS_VERSION=719, SOURCE_TLS_CIPHERSUITES=720,
154 SOURCE_PUBLIC_KEY_PATH=721, TABLE=722, TABLES=723, TABLESPACE=724, TABLE_CHECKSUM=725,
155 TABLE_NAME=726, TEMPORARY=727, TEMPTABLE=728, TERMINATED=729, TEXT=730,
156 THAN=731, THEN=732, THREAD_PRIORITY=733, TIES=734, TIME=735, TIMESTAMP=736,
157 TIMESTAMP_ADD=737, TIMESTAMP_DIFF=738, TINYBLOB=739, TINYINT=740, TINYTEXT=741,
158 TLS=742, TO=743, TRAILING=744, TRANSACTION=745, TRIGGER=746, TRIGGERS=747,
159 TRUE=748, TRUNCATE=749, TYPE=750, TYPES=751, UNBOUNDED=752, UNCOMMITTED=753,
160 UNDEFINED=754, UNDO=755, UNDOFILE=756, UNDO_BUFFER_SIZE=757, UNICODE=758,
161 UNINSTALL=759, UNION=760, UNIQUE=761, UNKNOWN=762, UNLOCK=763, UNSIGNED=764,
162 UNSIGNED_INT=765, UNSIGNED_INTEGER=766, UNTIL=767, UPDATE=768, UPGRADE=769,
163 USAGE=770, USE=771, USER=772, USER_RESOURCES=773, USE_FRM=774, USING=775,
164 UTC_DATE=776, UTC_TIME=777, UTC_TIMESTAMP=778, VALIDATION=779, VALUE=780,
165 VALUES=781, VARBINARY=782, VARCHAR=783, VARCHARACTER=784, VARIABLES=785,
166 VARYING=786, VCPU=787, VIEW=788, VIRTUAL=789, VISIBLE=790, WAIT=791, WARNINGS=792,
167 WEEK=793, WEIGHT_STRING=794, WHEN=795, WHERE=796, WHILE=797, WINDOW=798,
168 WITH=799, WITHOUT=800, WORK=801, WRAPPER=802, WRITE=803, X509=804, XA=805,
169 XID=806, XML=807, XOR=808, YEAR=809, YEAR_MONTH=810, ZEROFILL=811, JSON_ARRAY=812,
170 JSON_ARRAY_APPEND=813, JSON_ARRAY_INSERT=814, JSON_CONTAINS=815, JSON_CONTAINS_PATH=816,
171 JSON_DEPTH=817, JSON_EXTRACT=818, JSON_INSERT=819, JSON_KEYS=820, JSON_LENGTH=821,
172 JSON_MERGE=822, JSON_MERGE_PATCH=823, JSON_MERGE_PRESERVE=824, JSON_OBJECT=825,
173 JSON_OVERLAPS=826, JSON_PRETTY=827, JSON_QUOTE=828, JSON_REMOVE=829, JSON_REPLACE=830,
174 JSON_SCHEMA_VALID=831, JSON_SCHEMA_VALIDATION_REPORT=832, JSON_SEARCH=833,
175 JSON_SET=834, JSON_STORAGE_FREE=835, JSON_STORAGE_SIZE=836, JSON_TYPE=837,
176 JSON_UNQUOTE=838, JSON_VALID=839, ZONE=840, FILESIZE_LITERAL=841, SINGLE_QUOTED_TEXT=842,
177 DOUBLE_QUOTED_TEXT=843, BQUOTA_STRING=844, NCHAR_TEXT=845, UNDERSCORE_CHARSET=846,
178 NUMBER_=847, INT_NUM_=848, FLOAT_NUM_=849, DECIMAL_NUM_=850, HEX_DIGIT_=851,
179 BIT_NUM_=852, IDENTIFIER_=853, IP_ADDRESS=854, NOT_SUPPORT_=855;
180 public static final int
181 RULE_execute = 0, RULE_insert = 1, RULE_insertSpecification = 2, RULE_insertValuesClause = 3,
182 RULE_fields = 4, RULE_insertIdentifier = 5, RULE_tableWild = 6, RULE_insertSelectClause = 7,
183 RULE_onDuplicateKeyClause = 8, RULE_valueReference = 9, RULE_derivedColumns = 10,
184 RULE_update = 11, RULE_updateSpecification_ = 12, RULE_assignment = 13,
185 RULE_setAssignmentsClause = 14, RULE_assignmentValues = 15, RULE_assignmentValue = 16,
186 RULE_blobValue = 17, RULE_delete = 18, RULE_deleteSpecification = 19,
187 RULE_singleTableClause = 20, RULE_multipleTablesClause = 21, RULE_select = 22,
188 RULE_selectWithInto = 23, RULE_queryExpression = 24, RULE_queryExpressionBody = 25,
189 RULE_combineClause = 26, RULE_queryExpressionParens = 27, RULE_queryPrimary = 28,
190 RULE_querySpecification = 29, RULE_tableStatement = 30, RULE_tableValueConstructor = 31,
191 RULE_rowConstructorList = 32, RULE_withClause = 33, RULE_cteClause = 34,
192 RULE_selectSpecification = 35, RULE_duplicateSpecification = 36, RULE_projections = 37,
193 RULE_projection = 38, RULE_unqualifiedShorthand = 39, RULE_qualifiedShorthand = 40,
194 RULE_fromClause = 41, RULE_tableReferences = 42, RULE_escapedTableReference = 43,
195 RULE_tableReference = 44, RULE_tableFactor = 45, RULE_partitionNames = 46,
196 RULE_indexHintList = 47, RULE_indexHint = 48, RULE_joinedTable = 49, RULE_innerJoinType = 50,
197 RULE_outerJoinType = 51, RULE_naturalJoinType = 52, RULE_joinSpecification = 53,
198 RULE_whereClause = 54, RULE_groupByClause = 55, RULE_havingClause = 56,
199 RULE_limitClause = 57, RULE_limitRowCount = 58, RULE_limitOffset = 59,
200 RULE_windowClause = 60, RULE_windowItem = 61, RULE_subquery = 62, RULE_selectLinesInto = 63,
201 RULE_selectFieldsInto = 64, RULE_selectIntoExpression = 65, RULE_lockClause = 66,
202 RULE_lockClauseList = 67, RULE_lockStrength = 68, RULE_lockedRowAction = 69,
203 RULE_tableLockingList = 70, RULE_tableIdentOptWild = 71, RULE_tableAliasRefList = 72,
204 RULE_parameterMarker = 73, RULE_customKeyword = 74, RULE_literals = 75,
205 RULE_string_ = 76, RULE_stringLiterals = 77, RULE_numberLiterals = 78,
206 RULE_temporalLiterals = 79, RULE_hexadecimalLiterals = 80, RULE_bitValueLiterals = 81,
207 RULE_booleanLiterals = 82, RULE_nullValueLiterals = 83, RULE_collationName = 84,
208 RULE_identifier = 85, RULE_identifierKeywordsUnambiguous = 86, RULE_identifierKeywordsAmbiguous1RolesAndLabels = 87,
209 RULE_identifierKeywordsAmbiguous2Labels = 88, RULE_identifierKeywordsAmbiguous3Roles = 89,
210 RULE_identifierKeywordsAmbiguous4SystemVariables = 90, RULE_textOrIdentifier = 91,
211 RULE_ipAddress = 92, RULE_variable = 93, RULE_userVariable = 94, RULE_systemVariable = 95,
212 RULE_rvalueSystemVariable = 96, RULE_setSystemVariable = 97, RULE_optionType = 98,
213 RULE_internalVariableName = 99, RULE_setExprOrDefault = 100, RULE_transactionCharacteristics = 101,
214 RULE_isolationLevel = 102, RULE_isolationTypes = 103, RULE_transactionAccessMode = 104,
215 RULE_schemaName = 105, RULE_schemaNames = 106, RULE_charsetName = 107,
216 RULE_schemaPairs = 108, RULE_schemaPair = 109, RULE_tableName = 110, RULE_columnName = 111,
217 RULE_indexName = 112, RULE_constraintName = 113, RULE_oldColumn = 114,
218 RULE_newColumn = 115, RULE_delimiterName = 116, RULE_userIdentifierOrText = 117,
219 RULE_username = 118, RULE_eventName = 119, RULE_serverName = 120, RULE_wrapperName = 121,
220 RULE_functionName = 122, RULE_procedureName = 123, RULE_viewName = 124,
221 RULE_owner = 125, RULE_alias = 126, RULE_name = 127, RULE_tableList = 128,
222 RULE_viewNames = 129, RULE_columnNames = 130, RULE_groupName = 131, RULE_routineName = 132,
223 RULE_shardLibraryName = 133, RULE_componentName = 134, RULE_pluginName = 135,
224 RULE_hostname = 136, RULE_port = 137, RULE_cloneInstance = 138, RULE_cloneDir = 139,
225 RULE_channelName = 140, RULE_logName = 141, RULE_roleName = 142, RULE_roleIdentifierOrText = 143,
226 RULE_engineRef = 144, RULE_triggerName = 145, RULE_triggerTime = 146,
227 RULE_tableOrTables = 147, RULE_userOrRole = 148, RULE_partitionName = 149,
228 RULE_identifierList = 150, RULE_allOrPartitionNameList = 151, RULE_triggerEvent = 152,
229 RULE_triggerOrder = 153, RULE_expr = 154, RULE_andOperator = 155, RULE_orOperator = 156,
230 RULE_notOperator = 157, RULE_booleanPrimary = 158, RULE_assignmentOperator = 159,
231 RULE_comparisonOperator = 160, RULE_predicate = 161, RULE_bitExpr = 162,
232 RULE_simpleExpr = 163, RULE_path = 164, RULE_onEmptyError = 165, RULE_columnRef = 166,
233 RULE_columnRefList = 167, RULE_functionCall = 168, RULE_udfFunction = 169,
234 RULE_aggregationFunction = 170, RULE_jsonFunction = 171, RULE_jsonFunctionName = 172,
235 RULE_aggregationFunctionName = 173, RULE_distinct = 174, RULE_overClause = 175,
236 RULE_windowSpecification = 176, RULE_frameClause = 177, RULE_frameStart = 178,
237 RULE_frameEnd = 179, RULE_frameBetween = 180, RULE_specialFunction = 181,
238 RULE_currentUserFunction = 182, RULE_groupConcatFunction = 183, RULE_windowFunction = 184,
239 RULE_windowingClause = 185, RULE_leadLagInfo = 186, RULE_nullTreatment = 187,
240 RULE_checkType = 188, RULE_repairType = 189, RULE_castFunction = 190,
241 RULE_convertFunction = 191, RULE_castType = 192, RULE_positionFunction = 193,
242 RULE_substringFunction = 194, RULE_extractFunction = 195, RULE_charFunction = 196,
243 RULE_trimFunction = 197, RULE_valuesFunction = 198, RULE_weightStringFunction = 199,
244 RULE_levelClause = 200, RULE_levelInWeightListElement = 201, RULE_regularFunction = 202,
245 RULE_shorthandRegularFunction = 203, RULE_completeRegularFunction = 204,
246 RULE_regularFunctionName = 205, RULE_matchExpression = 206, RULE_matchSearchModifier = 207,
247 RULE_caseExpression = 208, RULE_datetimeExpr = 209, RULE_binaryLogFileIndexNumber = 210,
248 RULE_caseWhen = 211, RULE_caseElse = 212, RULE_intervalExpression = 213,
249 RULE_intervalValue = 214, RULE_intervalUnit = 215, RULE_orderByClause = 216,
250 RULE_orderByItem = 217, RULE_dataType = 218, RULE_stringList = 219, RULE_textString = 220,
251 RULE_textStringHash = 221, RULE_fieldOptions = 222, RULE_precision = 223,
252 RULE_typeDatetimePrecision = 224, RULE_charsetWithOptBinary = 225, RULE_ascii = 226,
253 RULE_unicode = 227, RULE_charset = 228, RULE_defaultCollation = 229, RULE_defaultEncryption = 230,
254 RULE_defaultCharset = 231, RULE_now = 232, RULE_columnFormat = 233, RULE_storageMedia = 234,
255 RULE_direction = 235, RULE_keyOrIndex = 236, RULE_fieldLength = 237, RULE_characterSet = 238,
256 RULE_collateClause = 239, RULE_fieldOrVarSpec = 240, RULE_ifNotExists = 241,
257 RULE_ifExists = 242, RULE_connectionId = 243, RULE_labelName = 244, RULE_cursorName = 245,
258 RULE_conditionName = 246, RULE_combineOption = 247, RULE_noWriteToBinLog = 248,
259 RULE_channelOption = 249;
260 private static String[] makeRuleNames() {
261 return new String[] {
262 "execute", "insert", "insertSpecification", "insertValuesClause", "fields",
263 "insertIdentifier", "tableWild", "insertSelectClause", "onDuplicateKeyClause",
264 "valueReference", "derivedColumns", "update", "updateSpecification_",
265 "assignment", "setAssignmentsClause", "assignmentValues", "assignmentValue",
266 "blobValue", "delete", "deleteSpecification", "singleTableClause", "multipleTablesClause",
267 "select", "selectWithInto", "queryExpression", "queryExpressionBody",
268 "combineClause", "queryExpressionParens", "queryPrimary", "querySpecification",
269 "tableStatement", "tableValueConstructor", "rowConstructorList", "withClause",
270 "cteClause", "selectSpecification", "duplicateSpecification", "projections",
271 "projection", "unqualifiedShorthand", "qualifiedShorthand", "fromClause",
272 "tableReferences", "escapedTableReference", "tableReference", "tableFactor",
273 "partitionNames", "indexHintList", "indexHint", "joinedTable", "innerJoinType",
274 "outerJoinType", "naturalJoinType", "joinSpecification", "whereClause",
275 "groupByClause", "havingClause", "limitClause", "limitRowCount", "limitOffset",
276 "windowClause", "windowItem", "subquery", "selectLinesInto", "selectFieldsInto",
277 "selectIntoExpression", "lockClause", "lockClauseList", "lockStrength",
278 "lockedRowAction", "tableLockingList", "tableIdentOptWild", "tableAliasRefList",
279 "parameterMarker", "customKeyword", "literals", "string_", "stringLiterals",
280 "numberLiterals", "temporalLiterals", "hexadecimalLiterals", "bitValueLiterals",
281 "booleanLiterals", "nullValueLiterals", "collationName", "identifier",
282 "identifierKeywordsUnambiguous", "identifierKeywordsAmbiguous1RolesAndLabels",
283 "identifierKeywordsAmbiguous2Labels", "identifierKeywordsAmbiguous3Roles",
284 "identifierKeywordsAmbiguous4SystemVariables", "textOrIdentifier", "ipAddress",
285 "variable", "userVariable", "systemVariable", "rvalueSystemVariable",
286 "setSystemVariable", "optionType", "internalVariableName", "setExprOrDefault",
287 "transactionCharacteristics", "isolationLevel", "isolationTypes", "transactionAccessMode",
288 "schemaName", "schemaNames", "charsetName", "schemaPairs", "schemaPair",
289 "tableName", "columnName", "indexName", "constraintName", "oldColumn",
290 "newColumn", "delimiterName", "userIdentifierOrText", "username", "eventName",
291 "serverName", "wrapperName", "functionName", "procedureName", "viewName",
292 "owner", "alias", "name", "tableList", "viewNames", "columnNames", "groupName",
293 "routineName", "shardLibraryName", "componentName", "pluginName", "hostname",
294 "port", "cloneInstance", "cloneDir", "channelName", "logName", "roleName",
295 "roleIdentifierOrText", "engineRef", "triggerName", "triggerTime", "tableOrTables",
296 "userOrRole", "partitionName", "identifierList", "allOrPartitionNameList",
297 "triggerEvent", "triggerOrder", "expr", "andOperator", "orOperator",
298 "notOperator", "booleanPrimary", "assignmentOperator", "comparisonOperator",
299 "predicate", "bitExpr", "simpleExpr", "path", "onEmptyError", "columnRef",
300 "columnRefList", "functionCall", "udfFunction", "aggregationFunction",
301 "jsonFunction", "jsonFunctionName", "aggregationFunctionName", "distinct",
302 "overClause", "windowSpecification", "frameClause", "frameStart", "frameEnd",
303 "frameBetween", "specialFunction", "currentUserFunction", "groupConcatFunction",
304 "windowFunction", "windowingClause", "leadLagInfo", "nullTreatment",
305 "checkType", "repairType", "castFunction", "convertFunction", "castType",
306 "positionFunction", "substringFunction", "extractFunction", "charFunction",
307 "trimFunction", "valuesFunction", "weightStringFunction", "levelClause",
308 "levelInWeightListElement", "regularFunction", "shorthandRegularFunction",
309 "completeRegularFunction", "regularFunctionName", "matchExpression",
310 "matchSearchModifier", "caseExpression", "datetimeExpr", "binaryLogFileIndexNumber",
311 "caseWhen", "caseElse", "intervalExpression", "intervalValue", "intervalUnit",
312 "orderByClause", "orderByItem", "dataType", "stringList", "textString",
313 "textStringHash", "fieldOptions", "precision", "typeDatetimePrecision",
314 "charsetWithOptBinary", "ascii", "unicode", "charset", "defaultCollation",
315 "defaultEncryption", "defaultCharset", "now", "columnFormat", "storageMedia",
316 "direction", "keyOrIndex", "fieldLength", "characterSet", "collateClause",
317 "fieldOrVarSpec", "ifNotExists", "ifExists", "connectionId", "labelName",
318 "cursorName", "conditionName", "combineOption", "noWriteToBinLog", "channelOption"
319 };
320 }
321 public static final String[] ruleNames = makeRuleNames();
322
323 private static String[] makeLiteralNames() {
324 return new String[] {
325 null, null, null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'",
326 "'>>'", "'^'", "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'",
327 "'.*'", "'<=>'", "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'",
328 "'('", "')'", "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'",
329 "'?'", "'@'", "';'", "':='", "'->'", "'->>'", null, null, null, null,
330 null, null, null, null, null, null, null, null, null, null, null, null,
331 null, null, null, null, null, null, "'INNODB'", "'REDO_LOG'", null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'",
332 null, null, null, null, null, null, null, null, null, null, null, null,
333 null, null, null, null, null, null, null, null, null, null, null, null,
334 null, null, null, null, null, null, null, null, null, null, null, null,
335 null, null, null, null, null, null, null, null, null, null, null, null,
336 null, null, null, null, null, null, null, null, null, null, null, null,
337 null, null, null, null, null, null, null, null, null, null, null, null,
338 null, null, null, null, null, null, null, null, null, null, null, null,
339 null, null, null, null, null, null, null, null, null, null, null, null,
340 null, null, null, null, null, null, null, null, null, null, null, null,
341 null, null, null, null, null, null, null, null, null, null, null, null,
342 null, null, null, null, null, null, null, null, null, null, null, null,
343 null, null, null, null, null, null, null, null, null, null, null, null,
344 null, null, null, null, null, null, null, null, null, null, null, null,
345 null, null, null, null, null, null, null, null, null, null, null, null,
346 null, null, null, null, null, null, null, null, null, null, null, null,
347 null, null, null, null, null, null, null, null, null, null, null, null,
348 null, null, null, null, null, null, null, null, null, null, null, null,
349 null, null, null, null, null, null, null, null, null, null, null, null,
350 null, null, null, null, null, null, null, null, null, null, null, null,
351 null, null, null, null, null, null, null, null, null, null, null, null,
352 null, null, null, null, null, null, null, null, null, null, null, null,
353 null, null, null, null, null, null, null, null, null, null, null, null,
354 null, null, null, null, null, null, null, null, null, null, null, null,
355 null, null, null, null, null, null, null, null, null, null, null, null,
356 null, null, null, null, null, null, null, null, null, null, null, null,
357 null, null, null, null, null, null, null, null, null, null, null, null,
358 null, null, null, null, null, null, null, null, null, null, null, null,
359 null, null, null, null, null, null, null, null, null, null, null, null,
360 null, null, null, null, null, null, null, null, null, null, null, null,
361 null, null, null, null, null, null, null, null, null, null, null, null,
362 null, null, null, null, null, null, null, null, null, null, null, null,
363 null, null, null, null, null, null, null, null, null, null, null, null,
364 null, null, null, null, null, null, null, null, null, null, null, null,
365 null, null, null, null, null, null, null, null, null, null, null, null,
366 null, null, null, null, null, null, null, null, null, null, null, null,
367 null, null, null, null, null, null, null, null, null, null, null, null,
368 null, null, null, null, null, null, null, null, null, null, null, null,
369 null, null, null, null, null, null, null, null, null, null, null, null,
370 null, null, null, null, null, null, null, null, null, null, null, null,
371 null, null, null, null, null, null, null, null, null, null, null, null,
372 null, null, null, null, null, null, null, null, null, null, null, null,
373 null, null, null, null, null, null, null, null, null, null, null, null,
374 null, null, null, null, null, null, null, null, null, null, null, null,
375 null, null, null, null, null, null, null, null, null, null, null, null,
376 null, null, null, null, null, null, null, null, null, null, null, null,
377 null, null, null, null, null, null, null, null, null, null, null, null,
378 null, null, null, null, null, null, null, null, null, null, null, null,
379 null, null, null, null, null, null, null, null, null, null, null, null,
380 null, null, null, null, null, null, null, null, null, null, null, null,
381 null, null, null, null, null, null, null, null, null, null, null, null,
382 null, null, null, null, null, null, null, null, null, null, null, null,
383 null, null, null, null, null, null, null, null, null, null, null, null,
384 null, null, null, null, null, null, null, null, null, null, null, null,
385 null, null, null, null, null, null, null, null, null, null, null, null,
386 null, null, null, null, null, null, null, null, null, null, null, null,
387 null, null, null, null, null, null, null, null, null, null, null, null,
388 null, null, null, null, null, null, null, null, null, null, null, null,
389 null, null, null, null, null, null, null, null, null, null, null, null,
390 null, null, null, null, null, null, null, null, null, null, null, null,
391 null, null, null, null, null, null, null, null, null, null, null, null,
392 null, null, null, null, null, null, null, null, null, null, null, null,
393 null, null, null, null, null, null, null, null, null, null, null, null,
394 null, null, null, null, null, null, null, null, null, null, null, null,
395 null, null, null, null, null, null, null, null, null, null, null, null,
396 null, null, null, null, null, null, null, null, null, null, null, null,
397 null, null, null, "'not support'"
398 };
399 }
400 private static final String[] _LITERAL_NAMES = makeLiteralNames();
401 private static String[] makeSymbolicNames() {
402 return new String[] {
403 null, "BLOCK_COMMENT", "INLINE_COMMENT", "AND_", "OR_", "NOT_", "TILDE_",
404 "VERTICAL_BAR_", "AMPERSAND_", "SIGNED_LEFT_SHIFT_", "SIGNED_RIGHT_SHIFT_",
405 "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_",
406 "BACKSLASH_", "DOT_", "DOT_ASTERISK_", "SAFE_EQ_", "DEQ_", "EQ_", "NEQ_",
407 "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_",
408 "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_",
409 "ASSIGNMENT_", "JSON_SEPARATOR", "JSON_UNQUOTED_SEPARATOR", "WS", "MAX",
410 "MIN", "SUM", "COUNT", "GROUP_CONCAT", "CAST", "POSITION", "SUBSTRING",
411 "SUBSTR", "EXTRACT", "TRIM", "LAST_DAY", "TRADITIONAL", "TREE", "MYSQL_MAIN",
412 "MYSQL_ADMIN", "INSTANT", "INPLACE", "COPY", "UL_BINARY", "AUTOCOMMIT",
413 "INNODB", "REDO_LOG", "DELIMITER", "FOR_GENERATOR", "ACCESSIBLE", "ACCOUNT",
414 "ACTION", "ACTIVE", "ADD", "ADMIN", "AFTER", "AGAINST", "AGGREGATE",
415 "ALGORITHM", "ALL", "ALTER", "ALWAYS", "ANALYZE", "AND", "ANY", "ARRAY",
416 "AS", "ASC", "ASCII", "ASENSITIVE", "AT", "ATTRIBUTE", "AUTOEXTEND_SIZE",
417 "AUTO_INCREMENT", "AVG", "ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS", "BIT_XOR",
418 "AVG_ROW_LENGTH", "BACKUP", "BEFORE", "BEGIN", "BETWEEN", "BIGINT", "BINARY",
419 "BINLOG", "BIT", "BLOB", "BLOCK", "BOOL", "BOOLEAN", "BOTH", "BTREE",
420 "BUCKETS", "BY", "BYTE", "CACHE", "CALL", "CASCADE", "CASCADED", "CASE",
421 "CATALOG_NAME", "CHAIN", "CHANGE", "CHANGED", "CHANNEL", "CHAR", "CHAR_VARYING",
422 "CHARACTER", "CHARACTER_VARYING", "CHARSET", "CHECK", "CHECKSUM", "CIPHER",
423 "CLASS_ORIGIN", "CLIENT", "CLONE", "CLOSE", "COALESCE", "CODE", "COLLATE",
424 "COLLATION", "COLUMN", "COLUMNS", "COLUMN_FORMAT", "COLUMN_NAME", "COMMENT",
425 "COMMIT", "COMMITTED", "COMPACT", "COMPLETION", "COMPONENT", "COMPRESSED",
426 "COMPRESSION", "CONCURRENT", "CONDITION", "CONNECTION", "CONSISTENT",
427 "CONSTRAINT", "CONSTRAINT_CATALOG", "CONSTRAINT_NAME", "CONSTRAINT_SCHEMA",
428 "CONTAINS", "CONTEXT", "CONTINUE", "CONVERT", "CPU", "CREATE", "CROSS",
429 "CUBE", "CUME_DIST", "CURRENT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP",
430 "CURRENT_USER", "CURSOR", "CURSOR_NAME", "DATA", "DATABASE", "DATABASES",
431 "DATAFILE", "DATE", "DATETIME", "DAY", "DAY_HOUR", "DAY_MICROSECOND",
432 "DAY_MINUTE", "DAY_SECOND", "DEALLOCATE", "DEC", "DECIMAL", "DECLARE",
433 "DEFAULT", "DEFAULT_AUTH", "DEFINER", "DEFINITION", "DELAYED", "DELAY_KEY_WRITE",
434 "DELETE", "DENSE_RANK", "DESC", "DESCRIBE", "DESCRIPTION", "DETERMINISTIC",
435 "DIAGNOSTICS", "DIRECTORY", "DISABLE", "DISCARD", "DISK", "DISTINCT",
436 "DISTINCTROW", "DIV", "DO", "DOUBLE", "DROP", "DUAL", "DUMPFILE", "DUPLICATE",
437 "DYNAMIC", "EACH", "ELSE", "ELSEIF", "EMPTY", "ENABLE", "ENCLOSED", "ENCRYPTION",
438 "END", "ENDS", "ENFORCED", "ENGINE", "ENGINES", "ENGINE_ATTRIBUTE", "ENUM",
439 "ERROR", "ERRORS", "ESCAPE", "ESCAPED", "EVENT", "EVENTS", "EVERY", "EXCEPT",
440 "EXCHANGE", "EXCLUDE", "EXECUTE", "EXISTS", "EXIT", "EXPANSION", "EXPIRE",
441 "EXPLAIN", "EXPORT", "EXTENDED", "EXTENT_SIZE", "FAILED_LOGIN_ATTEMPTS",
442 "FALSE", "FAST", "FAULTS", "FETCH", "FILE", "FILE_BLOCK_SIZE", "FILTER",
443 "FIRST", "FIRST_VALUE", "FIXED", "FLOAT", "FLOAT4", "FLOAT8", "FLUSH",
444 "FOLLOWING", "FOLLOWS", "FOR", "FORCE", "FOREIGN", "FORMAT", "FOUND",
445 "FROM", "FULL", "FULLTEXT", "FUNCTION", "GENERAL", "GENERATED", "GEOMETRY",
446 "GEOMCOLLECTION", "GEOMETRYCOLLECTION", "GET", "GET_FORMAT", "GET_MASTER_PUBLIC_KEY",
447 "GLOBAL", "GRANT", "GRANTS", "GROUP", "GROUPING", "GROUPS", "GROUP_REPLICATION",
448 "GET_SOURCE_PUBLIC_KEY", "GTID_ONLY", "GENERATE", "HANDLER", "HASH",
449 "HAVING", "HELP", "HIGH_PRIORITY", "HISTOGRAM", "HISTORY", "HOST", "HOSTS",
450 "HOUR", "HOUR_MICROSECOND", "HOUR_MINUTE", "HOUR_SECOND", "IDENTIFIED",
451 "IF", "IGNORE", "IGNORE_SERVER_IDS", "IMPORT", "IN", "INACTIVE", "INDEX",
452 "INDEXES", "INFILE", "INITIAL_SIZE", "INNER", "INOUT", "INSENSITIVE",
453 "INSERT", "INSERT_METHOD", "INSTALL", "INSTANCE", "INT", "INT1", "INT2",
454 "INT3", "INT4", "INT8", "INTEGER", "INTERVAL", "INTO", "INVISIBLE", "INVOKER",
455 "IO", "IO_AFTER_GTIDS", "IO_BEFORE_GTIDS", "IPC", "IS", "ISOLATION",
456 "ISSUER", "ITERATE", "JOIN", "JSON", "JSON_TABLE", "JSON_VALUE", "KEY",
457 "KEYS", "KEY_BLOCK_SIZE", "KILL", "LAG", "LANGUAGE", "LAST", "LAST_VALUE",
458 "LATERAL", "LEAD", "LEADING", "LEAVE", "LEAVES", "LEFT", "LESS", "LEVEL",
459 "LIKE", "LIMIT", "LINEAR", "LINES", "LINESTRING", "LIST", "LOAD", "LOCAL",
460 "LOCALTIME", "LOCALTIMESTAMP", "LOCK", "LOCKED", "LOCKS", "LOGFILE",
461 "LOGS", "LONG", "LONGBLOB", "LONGTEXT", "LONG_CHAR_VARYING", "LONG_VARCHAR",
462 "LOOP", "LOW_PRIORITY", "MASTER", "MASTER_AUTO_POSITION", "MASTER_BIND",
463 "MASTER_COMPRESSION_ALGORITHM", "MASTER_CONNECT_RETRY", "MASTER_DELAY",
464 "MASTER_HEARTBEAT_PERIOD", "MASTER_HOST", "MASTER_LOG_FILE", "MASTER_LOG_POS",
465 "MASTER_PASSWORD", "MASTER_PORT", "MASTER_PUBLIC_KEY_PATH", "MASTER_RETRY_COUNT",
466 "MASTER_SERVER_ID", "MASTER_SSL", "MASTER_SSL_CA", "MASTER_SSL_CAPATH",
467 "MASTER_SSL_CERT", "MASTER_SSL_CIPHER", "MASTER_SSL_CRL", "MASTER_SSL_CRLPATH",
468 "MASTER_SSL_KEY", "MASTER_SSL_VERIFY_SERVER_CERT", "MASTER_TLS_CIPHERSUITES",
469 "MASTER_TLS_VERSION", "MASTER_USER", "MASTER_ZSTD_COMPRESSION_LEVEL",
470 "MATCH", "MAXVALUE", "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR",
471 "MAX_ROWS", "MAX_SIZE", "MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS",
472 "MEDIUM", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MEMBER", "MEMORY",
473 "MERGE", "MESSAGE_TEXT", "MICROSECOND", "MIDDLEINT", "MIGRATE", "MINUTE",
474 "MINUTE_MICROSECOND", "MINUTE_SECOND", "MIN_ROWS", "MOD", "MODE", "MODIFIES",
475 "MODIFY", "MONTH", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", "MUTEX",
476 "MYSQL_ERRNO", "NAME", "NAMES", "NATIONAL", "NATIONAL_CHAR", "NATIONAL_CHAR_VARYING",
477 "NATURAL", "NCHAR", "NDBCLUSTER", "NESTED", "NETWORK_NAMESPACE", "NEVER",
478 "NEW", "NEXT", "NO", "NODEGROUP", "NONE", "SHARED", "EXCLUSIVE", "NOT",
479 "NOWAIT", "NO_WAIT", "NO_WRITE_TO_BINLOG", "NTH_VALUE", "NTILE", "NULL",
480 "NULLS", "NUMBER", "NUMERIC", "NVARCHAR", "OF", "OFF", "OFFSET", "OJ",
481 "OLD", "ON", "ONE", "ONLY", "OPEN", "OPTIMIZE", "OPTIMIZER_COSTS", "OPTION",
482 "OPTIONAL", "OPTIONALLY", "OPTIONS", "OR", "ORDER", "ORDINALITY", "ORGANIZATION",
483 "OTHERS", "OUT", "OUTER", "OUTFILE", "OVER", "OWNER", "PACK_KEYS", "PAGE",
484 "PARSER", "PARTIAL", "PARTITION", "PARTITIONING", "PARTITIONS", "PASSWORD",
485 "PASSWORD_LOCK_TIME", "PATH", "PERCENT_RANK", "PERSIST", "PERSIST_ONLY",
486 "PHASE", "PLUGIN", "PLUGINS", "PLUGIN_DIR", "POINT", "POLYGON", "PORT",
487 "PRECEDES", "PRECEDING", "PRECISION", "PREPARE", "PRESERVE", "PREV",
488 "PRIMARY", "PRIVILEGES", "PRIVILEGE_CHECKS_USER", "PROCEDURE", "PROCESS",
489 "PROCESSLIST", "PROFILE", "PROFILES", "PROXY", "PURGE", "QUARTER", "QUERY",
490 "QUICK", "RANDOM", "RANGE", "RANK", "READ", "READS", "READ_ONLY", "READ_WRITE",
491 "REAL", "REBUILD", "RECOVER", "RECURSIVE", "REDO_BUFFER_SIZE", "REDUNDANT",
492 "REFERENCE", "REFERENCES", "REGEXP", "RELAY", "RELAYLOG", "RELAY_LOG_FILE",
493 "RELAY_LOG_POS", "RELAY_THREAD", "RELEASE", "RELOAD", "REMOVE", "RENAME",
494 "REORGANIZE", "REPAIR", "REPEAT", "REPEATABLE", "REPLACE", "REPLICA",
495 "REPLICAS", "REPLICATE_DO_DB", "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_DB",
496 "REPLICATE_IGNORE_TABLE", "REPLICATE_REWRITE_DB", "REPLICATE_WILD_DO_TABLE",
497 "REPLICATE_WILD_IGNORE_TABLE", "REPLICATION", "REQUIRE", "REQUIRE_ROW_FORMAT",
498 "REQUIRE_TABLE_PRIMARY_KEY_CHECK", "RESET", "RESIGNAL", "RESOURCE", "RESPECT",
499 "RESTART", "RESTORE", "RESTRICT", "RESUME", "RETAIN", "RETURN", "RETURNED_SQLSTATE",
500 "RETURNING", "RETURNS", "REUSE", "REVERSE", "REVOKE", "RIGHT", "RLIKE",
501 "ROLE", "ROLLBACK", "ROLLUP", "ROTATE", "ROUTINE", "ROW", "ROWS", "ROW_COUNT",
502 "ROW_FORMAT", "ROW_NUMBER", "RTREE", "SAVEPOINT", "SCHEDULE", "SCHEMA",
503 "SCHEMAS", "SCHEMA_NAME", "SECOND", "SECONDARY", "SECONDARY_ENGINE",
504 "SECONDARY_ENGINE_ATTRIBUTE", "SECONDARY_LOAD", "SECONDARY_UNLOAD", "SECOND_MICROSECOND",
505 "SECURITY", "SELECT", "SENSITIVE", "SEPARATOR", "SERIAL", "SERIALIZABLE",
506 "SERVER", "SESSION", "SET", "SHARE", "SHOW", "SHUTDOWN", "SIGNAL", "SIGNED",
507 "SIGNED_INT", "SIGNED_INTEGER", "SIMPLE", "SKIP_SYMBOL", "SLAVE", "SLOW",
508 "SMALLINT", "SNAPSHOT", "SOCKET", "SONAME", "SOUNDS", "SOURCE", "SPATIAL",
509 "SPECIFIC", "SQL", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", "SQL_AFTER_GTIDS",
510 "SQL_AFTER_MTS_GAPS", "SQL_BEFORE_GTIDS", "SQL_BIG_RESULT", "SQL_BUFFER_RESULT",
511 "SQL_CALC_FOUND_ROWS", "SQL_NO_CACHE", "SQL_SMALL_RESULT", "SQL_THREAD",
512 "SRID", "SSL", "STACKED", "START", "STARTING", "STARTS", "STATS_AUTO_RECALC",
513 "STATS_PERSISTENT", "STATS_SAMPLE_PAGES", "STATUS", "STOP", "STORAGE",
514 "STORED", "STRAIGHT_JOIN", "STREAM", "STRING", "SUBCLASS_ORIGIN", "SUBJECT",
515 "SUBPARTITION", "SUBPARTITIONS", "SUPER", "SUSPEND", "SWAPS", "SWITCHES",
516 "SYSTEM", "SOURCE_BIND", "SOURCE_HOST", "SOURCE_USER", "SOURCE_PASSWORD",
517 "SOURCE_PORT", "SOURCE_LOG_FILE", "SOURCE_LOG_POS", "SOURCE_AUTO_POSITION",
518 "SOURCE_HEARTBEAT_PERIOD", "SOURCE_CONNECT_RETRY", "SOURCE_RETRY_COUNT",
519 "SOURCE_CONNECTION_AUTO_FAILOVER", "SOURCE_DELAY", "SOURCE_COMPRESSION_ALGORITHMS",
520 "SOURCE_ZSTD_COMPRESSION_LEVEL", "SOURCE_SSL", "SOURCE_SSL_CA", "SOURCE_SSL_CAPATH",
521 "SOURCE_SSL_CERT", "SOURCE_SSL_CRL", "SOURCE_SSL_CRLPATH", "SOURCE_SSL_KEY",
522 "SOURCE_SSL_CIPHER", "SOURCE_SSL_VERIFY_SERVER_CERT", "SOURCE_TLS_VERSION",
523 "SOURCE_TLS_CIPHERSUITES", "SOURCE_PUBLIC_KEY_PATH", "TABLE", "TABLES",
524 "TABLESPACE", "TABLE_CHECKSUM", "TABLE_NAME", "TEMPORARY", "TEMPTABLE",
525 "TERMINATED", "TEXT", "THAN", "THEN", "THREAD_PRIORITY", "TIES", "TIME",
526 "TIMESTAMP", "TIMESTAMP_ADD", "TIMESTAMP_DIFF", "TINYBLOB", "TINYINT",
527 "TINYTEXT", "TLS", "TO", "TRAILING", "TRANSACTION", "TRIGGER", "TRIGGERS",
528 "TRUE", "TRUNCATE", "TYPE", "TYPES", "UNBOUNDED", "UNCOMMITTED", "UNDEFINED",
529 "UNDO", "UNDOFILE", "UNDO_BUFFER_SIZE", "UNICODE", "UNINSTALL", "UNION",
530 "UNIQUE", "UNKNOWN", "UNLOCK", "UNSIGNED", "UNSIGNED_INT", "UNSIGNED_INTEGER",
531 "UNTIL", "UPDATE", "UPGRADE", "USAGE", "USE", "USER", "USER_RESOURCES",
532 "USE_FRM", "USING", "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", "VALIDATION",
533 "VALUE", "VALUES", "VARBINARY", "VARCHAR", "VARCHARACTER", "VARIABLES",
534 "VARYING", "VCPU", "VIEW", "VIRTUAL", "VISIBLE", "WAIT", "WARNINGS",
535 "WEEK", "WEIGHT_STRING", "WHEN", "WHERE", "WHILE", "WINDOW", "WITH",
536 "WITHOUT", "WORK", "WRAPPER", "WRITE", "X509", "XA", "XID", "XML", "XOR",
537 "YEAR", "YEAR_MONTH", "ZEROFILL", "JSON_ARRAY", "JSON_ARRAY_APPEND",
538 "JSON_ARRAY_INSERT", "JSON_CONTAINS", "JSON_CONTAINS_PATH", "JSON_DEPTH",
539 "JSON_EXTRACT", "JSON_INSERT", "JSON_KEYS", "JSON_LENGTH", "JSON_MERGE",
540 "JSON_MERGE_PATCH", "JSON_MERGE_PRESERVE", "JSON_OBJECT", "JSON_OVERLAPS",
541 "JSON_PRETTY", "JSON_QUOTE", "JSON_REMOVE", "JSON_REPLACE", "JSON_SCHEMA_VALID",
542 "JSON_SCHEMA_VALIDATION_REPORT", "JSON_SEARCH", "JSON_SET", "JSON_STORAGE_FREE",
543 "JSON_STORAGE_SIZE", "JSON_TYPE", "JSON_UNQUOTE", "JSON_VALID", "ZONE",
544 "FILESIZE_LITERAL", "SINGLE_QUOTED_TEXT", "DOUBLE_QUOTED_TEXT", "BQUOTA_STRING",
545 "NCHAR_TEXT", "UNDERSCORE_CHARSET", "NUMBER_", "INT_NUM_", "FLOAT_NUM_",
546 "DECIMAL_NUM_", "HEX_DIGIT_", "BIT_NUM_", "IDENTIFIER_", "IP_ADDRESS",
547 "NOT_SUPPORT_"
548 };
549 }
550 private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
551 public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
552
553
554
555
556 @Deprecated
557 public static final String[] tokenNames;
558 static {
559 tokenNames = new String[_SYMBOLIC_NAMES.length];
560 for (int i = 0; i < tokenNames.length; i++) {
561 tokenNames[i] = VOCABULARY.getLiteralName(i);
562 if (tokenNames[i] == null) {
563 tokenNames[i] = VOCABULARY.getSymbolicName(i);
564 }
565
566 if (tokenNames[i] == null) {
567 tokenNames[i] = "<INVALID>";
568 }
569 }
570 }
571
572 @Override
573 @Deprecated
574 public String[] getTokenNames() {
575 return tokenNames;
576 }
577
578 @Override
579
580 public Vocabulary getVocabulary() {
581 return VOCABULARY;
582 }
583
584 @Override
585 public String getGrammarFileName() { return "HiveStatement.g4"; }
586
587 @Override
588 public String[] getRuleNames() { return ruleNames; }
589
590 @Override
591 public String getSerializedATN() { return _serializedATN; }
592
593 @Override
594 public ATN getATN() { return _ATN; }
595
596 public HiveStatementParser(TokenStream input) {
597 super(input);
598 _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
599 }
600
601 public static class ExecuteContext extends ParserRuleContext {
602 public SelectContext select() {
603 return getRuleContext(SelectContext.class,0);
604 }
605 public InsertContext insert() {
606 return getRuleContext(InsertContext.class,0);
607 }
608 public UpdateContext update() {
609 return getRuleContext(UpdateContext.class,0);
610 }
611 public DeleteContext delete() {
612 return getRuleContext(DeleteContext.class,0);
613 }
614 public TerminalNode SEMI_() { return getToken(HiveStatementParser.SEMI_, 0); }
615 public TerminalNode EOF() { return getToken(HiveStatementParser.EOF, 0); }
616 public ExecuteContext(ParserRuleContext parent, int invokingState) {
617 super(parent, invokingState);
618 }
619 @Override public int getRuleIndex() { return RULE_execute; }
620 @Override
621 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
622 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitExecute(this);
623 else return visitor.visitChildren(this);
624 }
625 }
626
627 public final ExecuteContext execute() throws RecognitionException {
628 ExecuteContext _localctx = new ExecuteContext(_ctx, getState());
629 enterRule(_localctx, 0, RULE_execute);
630 try {
631 setState(514);
632 _errHandler.sync(this);
633 switch (_input.LA(1)) {
634 case LP_:
635 case DELETE:
636 case INSERT:
637 case SELECT:
638 case TABLE:
639 case UPDATE:
640 case VALUES:
641 case WITH:
642 enterOuterAlt(_localctx, 1);
643 {
644 setState(504);
645 _errHandler.sync(this);
646 switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
647 case 1:
648 {
649 setState(500);
650 select();
651 }
652 break;
653 case 2:
654 {
655 setState(501);
656 insert();
657 }
658 break;
659 case 3:
660 {
661 setState(502);
662 update();
663 }
664 break;
665 case 4:
666 {
667 setState(503);
668 delete();
669 }
670 break;
671 }
672 setState(511);
673 _errHandler.sync(this);
674 switch (_input.LA(1)) {
675 case SEMI_:
676 {
677 setState(506);
678 match(SEMI_);
679 setState(508);
680 _errHandler.sync(this);
681 switch ( getInterpreter().adaptivePredict(_input,1,_ctx) ) {
682 case 1:
683 {
684 setState(507);
685 match(EOF);
686 }
687 break;
688 }
689 }
690 break;
691 case EOF:
692 {
693 setState(510);
694 match(EOF);
695 }
696 break;
697 default:
698 throw new NoViableAltException(this);
699 }
700 }
701 break;
702 case EOF:
703 enterOuterAlt(_localctx, 2);
704 {
705 setState(513);
706 match(EOF);
707 }
708 break;
709 default:
710 throw new NoViableAltException(this);
711 }
712 }
713 catch (RecognitionException re) {
714 _localctx.exception = re;
715 _errHandler.reportError(this, re);
716 _errHandler.recover(this, re);
717 }
718 finally {
719 exitRule();
720 }
721 return _localctx;
722 }
723
724 public static class InsertContext extends ParserRuleContext {
725 public TerminalNode INSERT() { return getToken(HiveStatementParser.INSERT, 0); }
726 public InsertSpecificationContext insertSpecification() {
727 return getRuleContext(InsertSpecificationContext.class,0);
728 }
729 public TableNameContext tableName() {
730 return getRuleContext(TableNameContext.class,0);
731 }
732 public InsertValuesClauseContext insertValuesClause() {
733 return getRuleContext(InsertValuesClauseContext.class,0);
734 }
735 public SetAssignmentsClauseContext setAssignmentsClause() {
736 return getRuleContext(SetAssignmentsClauseContext.class,0);
737 }
738 public InsertSelectClauseContext insertSelectClause() {
739 return getRuleContext(InsertSelectClauseContext.class,0);
740 }
741 public TerminalNode INTO() { return getToken(HiveStatementParser.INTO, 0); }
742 public PartitionNamesContext partitionNames() {
743 return getRuleContext(PartitionNamesContext.class,0);
744 }
745 public OnDuplicateKeyClauseContext onDuplicateKeyClause() {
746 return getRuleContext(OnDuplicateKeyClauseContext.class,0);
747 }
748 public InsertContext(ParserRuleContext parent, int invokingState) {
749 super(parent, invokingState);
750 }
751 @Override public int getRuleIndex() { return RULE_insert; }
752 @Override
753 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
754 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitInsert(this);
755 else return visitor.visitChildren(this);
756 }
757 }
758
759 public final InsertContext insert() throws RecognitionException {
760 InsertContext _localctx = new InsertContext(_ctx, getState());
761 enterRule(_localctx, 2, RULE_insert);
762 int _la;
763 try {
764 enterOuterAlt(_localctx, 1);
765 {
766 setState(516);
767 match(INSERT);
768 setState(517);
769 insertSpecification();
770 setState(519);
771 _errHandler.sync(this);
772 _la = _input.LA(1);
773 if (_la==INTO) {
774 {
775 setState(518);
776 match(INTO);
777 }
778 }
779
780 setState(521);
781 tableName();
782 setState(523);
783 _errHandler.sync(this);
784 _la = _input.LA(1);
785 if (_la==PARTITION) {
786 {
787 setState(522);
788 partitionNames();
789 }
790 }
791
792 setState(528);
793 _errHandler.sync(this);
794 switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) {
795 case 1:
796 {
797 setState(525);
798 insertValuesClause();
799 }
800 break;
801 case 2:
802 {
803 setState(526);
804 setAssignmentsClause();
805 }
806 break;
807 case 3:
808 {
809 setState(527);
810 insertSelectClause();
811 }
812 break;
813 }
814 setState(531);
815 _errHandler.sync(this);
816 _la = _input.LA(1);
817 if (_la==AS || _la==ON) {
818 {
819 setState(530);
820 onDuplicateKeyClause();
821 }
822 }
823
824 }
825 }
826 catch (RecognitionException re) {
827 _localctx.exception = re;
828 _errHandler.reportError(this, re);
829 _errHandler.recover(this, re);
830 }
831 finally {
832 exitRule();
833 }
834 return _localctx;
835 }
836
837 public static class InsertSpecificationContext extends ParserRuleContext {
838 public TerminalNode IGNORE() { return getToken(HiveStatementParser.IGNORE, 0); }
839 public TerminalNode LOW_PRIORITY() { return getToken(HiveStatementParser.LOW_PRIORITY, 0); }
840 public TerminalNode DELAYED() { return getToken(HiveStatementParser.DELAYED, 0); }
841 public TerminalNode HIGH_PRIORITY() { return getToken(HiveStatementParser.HIGH_PRIORITY, 0); }
842 public InsertSpecificationContext(ParserRuleContext parent, int invokingState) {
843 super(parent, invokingState);
844 }
845 @Override public int getRuleIndex() { return RULE_insertSpecification; }
846 @Override
847 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
848 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitInsertSpecification(this);
849 else return visitor.visitChildren(this);
850 }
851 }
852
853 public final InsertSpecificationContext insertSpecification() throws RecognitionException {
854 InsertSpecificationContext _localctx = new InsertSpecificationContext(_ctx, getState());
855 enterRule(_localctx, 4, RULE_insertSpecification);
856 int _la;
857 try {
858 enterOuterAlt(_localctx, 1);
859 {
860 setState(534);
861 _errHandler.sync(this);
862 _la = _input.LA(1);
863 if (_la==DELAYED || _la==HIGH_PRIORITY || _la==LOW_PRIORITY) {
864 {
865 setState(533);
866 _la = _input.LA(1);
867 if ( !(_la==DELAYED || _la==HIGH_PRIORITY || _la==LOW_PRIORITY) ) {
868 _errHandler.recoverInline(this);
869 }
870 else {
871 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
872 _errHandler.reportMatch(this);
873 consume();
874 }
875 }
876 }
877
878 setState(537);
879 _errHandler.sync(this);
880 _la = _input.LA(1);
881 if (_la==IGNORE) {
882 {
883 setState(536);
884 match(IGNORE);
885 }
886 }
887
888 }
889 }
890 catch (RecognitionException re) {
891 _localctx.exception = re;
892 _errHandler.reportError(this, re);
893 _errHandler.recover(this, re);
894 }
895 finally {
896 exitRule();
897 }
898 return _localctx;
899 }
900
901 public static class InsertValuesClauseContext extends ParserRuleContext {
902 public TerminalNode VALUES() { return getToken(HiveStatementParser.VALUES, 0); }
903 public TerminalNode VALUE() { return getToken(HiveStatementParser.VALUE, 0); }
904 public List<AssignmentValuesContext> assignmentValues() {
905 return getRuleContexts(AssignmentValuesContext.class);
906 }
907 public AssignmentValuesContext assignmentValues(int i) {
908 return getRuleContext(AssignmentValuesContext.class,i);
909 }
910 public RowConstructorListContext rowConstructorList() {
911 return getRuleContext(RowConstructorListContext.class,0);
912 }
913 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
914 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
915 public ValueReferenceContext valueReference() {
916 return getRuleContext(ValueReferenceContext.class,0);
917 }
918 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
919 public TerminalNode COMMA_(int i) {
920 return getToken(HiveStatementParser.COMMA_, i);
921 }
922 public FieldsContext fields() {
923 return getRuleContext(FieldsContext.class,0);
924 }
925 public InsertValuesClauseContext(ParserRuleContext parent, int invokingState) {
926 super(parent, invokingState);
927 }
928 @Override public int getRuleIndex() { return RULE_insertValuesClause; }
929 @Override
930 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
931 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitInsertValuesClause(this);
932 else return visitor.visitChildren(this);
933 }
934 }
935
936 public final InsertValuesClauseContext insertValuesClause() throws RecognitionException {
937 InsertValuesClauseContext _localctx = new InsertValuesClauseContext(_ctx, getState());
938 enterRule(_localctx, 6, RULE_insertValuesClause);
939 int _la;
940 try {
941 enterOuterAlt(_localctx, 1);
942 {
943 setState(544);
944 _errHandler.sync(this);
945 _la = _input.LA(1);
946 if (_la==LP_) {
947 {
948 setState(539);
949 match(LP_);
950 setState(541);
951 _errHandler.sync(this);
952 _la = _input.LA(1);
953 if (((((_la - 47)) & ~0x3f) == 0 && ((1L << (_la - 47)) & ((1L << (MAX - 47)) | (1L << (MIN - 47)) | (1L << (SUM - 47)) | (1L << (COUNT - 47)) | (1L << (GROUP_CONCAT - 47)) | (1L << (CAST - 47)) | (1L << (POSITION - 47)) | (1L << (SUBSTRING - 47)) | (1L << (SUBSTR - 47)) | (1L << (EXTRACT - 47)) | (1L << (TRIM - 47)) | (1L << (LAST_DAY - 47)) | (1L << (TRADITIONAL - 47)) | (1L << (TREE - 47)) | (1L << (MYSQL_MAIN - 47)) | (1L << (MYSQL_ADMIN - 47)) | (1L << (INSTANT - 47)) | (1L << (INPLACE - 47)) | (1L << (COPY - 47)) | (1L << (UL_BINARY - 47)) | (1L << (AUTOCOMMIT - 47)) | (1L << (INNODB - 47)) | (1L << (REDO_LOG - 47)) | (1L << (ACCOUNT - 47)) | (1L << (ACTION - 47)) | (1L << (ACTIVE - 47)) | (1L << (ADMIN - 47)) | (1L << (AFTER - 47)) | (1L << (AGAINST - 47)) | (1L << (AGGREGATE - 47)) | (1L << (ALGORITHM - 47)) | (1L << (ALWAYS - 47)) | (1L << (ANY - 47)) | (1L << (ARRAY - 47)) | (1L << (ASCII - 47)) | (1L << (AT - 47)) | (1L << (ATTRIBUTE - 47)) | (1L << (AUTOEXTEND_SIZE - 47)) | (1L << (AUTO_INCREMENT - 47)) | (1L << (AVG - 47)) | (1L << (BIT_XOR - 47)) | (1L << (AVG_ROW_LENGTH - 47)) | (1L << (BACKUP - 47)) | (1L << (BEGIN - 47)) | (1L << (BINLOG - 47)) | (1L << (BIT - 47)) | (1L << (BLOCK - 47)))) != 0) || ((((_la - 111)) & ~0x3f) == 0 && ((1L << (_la - 111)) & ((1L << (BOOL - 111)) | (1L << (BOOLEAN - 111)) | (1L << (BTREE - 111)) | (1L << (BUCKETS - 111)) | (1L << (BYTE - 111)) | (1L << (CACHE - 111)) | (1L << (CASCADED - 111)) | (1L << (CATALOG_NAME - 111)) | (1L << (CHAIN - 111)) | (1L << (CHANGED - 111)) | (1L << (CHANNEL - 111)) | (1L << (CHARSET - 111)) | (1L << (CHECKSUM - 111)) | (1L << (CIPHER - 111)) | (1L << (CLASS_ORIGIN - 111)) | (1L << (CLIENT - 111)) | (1L << (CLONE - 111)) | (1L << (CLOSE - 111)) | (1L << (COALESCE - 111)) | (1L << (CODE - 111)) | (1L << (COLLATION - 111)) | (1L << (COLUMNS - 111)) | (1L << (COLUMN_FORMAT - 111)) | (1L << (COLUMN_NAME - 111)) | (1L << (COMMENT - 111)) | (1L << (COMMIT - 111)) | (1L << (COMMITTED - 111)) | (1L << (COMPACT - 111)) | (1L << (COMPLETION - 111)) | (1L << (COMPONENT - 111)) | (1L << (COMPRESSED - 111)) | (1L << (COMPRESSION - 111)) | (1L << (CONCURRENT - 111)) | (1L << (CONNECTION - 111)) | (1L << (CONSISTENT - 111)) | (1L << (CONSTRAINT_CATALOG - 111)) | (1L << (CONSTRAINT_NAME - 111)) | (1L << (CONSTRAINT_SCHEMA - 111)) | (1L << (CONTAINS - 111)) | (1L << (CONTEXT - 111)) | (1L << (CPU - 111)) | (1L << (CREATE - 111)) | (1L << (CURRENT - 111)))) != 0) || ((((_la - 179)) & ~0x3f) == 0 && ((1L << (_la - 179)) & ((1L << (CURSOR_NAME - 179)) | (1L << (DATA - 179)) | (1L << (DATAFILE - 179)) | (1L << (DATE - 179)) | (1L << (DATETIME - 179)) | (1L << (DAY - 179)) | (1L << (DAY_MINUTE - 179)) | (1L << (DEALLOCATE - 179)) | (1L << (DEFAULT_AUTH - 179)) | (1L << (DEFINER - 179)) | (1L << (DEFINITION - 179)) | (1L << (DELAY_KEY_WRITE - 179)) | (1L << (DESCRIPTION - 179)) | (1L << (DIAGNOSTICS - 179)) | (1L << (DIRECTORY - 179)) | (1L << (DISABLE - 179)) | (1L << (DISCARD - 179)) | (1L << (DISK - 179)) | (1L << (DO - 179)) | (1L << (DUMPFILE - 179)) | (1L << (DUPLICATE - 179)) | (1L << (DYNAMIC - 179)) | (1L << (ENABLE - 179)) | (1L << (ENCRYPTION - 179)) | (1L << (END - 179)) | (1L << (ENDS - 179)) | (1L << (ENFORCED - 179)) | (1L << (ENGINE - 179)) | (1L << (ENGINES - 179)) | (1L << (ENGINE_ATTRIBUTE - 179)) | (1L << (ENUM - 179)) | (1L << (ERROR - 179)) | (1L << (ERRORS - 179)) | (1L << (ESCAPE - 179)) | (1L << (EVENT - 179)) | (1L << (EVENTS - 179)) | (1L << (EVERY - 179)))) != 0) || ((((_la - 244)) & ~0x3f) == 0 && ((1L << (_la - 244)) & ((1L << (EXCHANGE - 244)) | (1L << (EXCLUDE - 244)) | (1L << (EXECUTE - 244)) | (1L << (EXPANSION - 244)) | (1L << (EXPIRE - 244)) | (1L << (EXPORT - 244)) | (1L << (EXTENDED - 244)) | (1L << (EXTENT_SIZE - 244)) | (1L << (FAILED_LOGIN_ATTEMPTS - 244)) | (1L << (FAST - 244)) | (1L << (FAULTS - 244)) | (1L << (FILE - 244)) | (1L << (FILE_BLOCK_SIZE - 244)) | (1L << (FILTER - 244)) | (1L << (FIRST - 244)) | (1L << (FIXED - 244)) | (1L << (FLUSH - 244)) | (1L << (FOLLOWING - 244)) | (1L << (FOLLOWS - 244)) | (1L << (FORMAT - 244)) | (1L << (FOUND - 244)) | (1L << (FULL - 244)) | (1L << (GENERAL - 244)) | (1L << (GEOMETRY - 244)) | (1L << (GEOMETRYCOLLECTION - 244)) | (1L << (GET_FORMAT - 244)) | (1L << (GET_MASTER_PUBLIC_KEY - 244)) | (1L << (GLOBAL - 244)) | (1L << (GRANTS - 244)) | (1L << (GROUP_REPLICATION - 244)) | (1L << (HANDLER - 244)) | (1L << (HASH - 244)) | (1L << (HELP - 244)) | (1L << (HISTOGRAM - 244)) | (1L << (HISTORY - 244)) | (1L << (HOST - 244)) | (1L << (HOSTS - 244)))) != 0) || ((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & ((1L << (HOUR - 308)) | (1L << (IDENTIFIED - 308)) | (1L << (IGNORE_SERVER_IDS - 308)) | (1L << (IMPORT - 308)) | (1L << (INACTIVE - 308)) | (1L << (INDEXES - 308)) | (1L << (INITIAL_SIZE - 308)) | (1L << (INSERT_METHOD - 308)) | (1L << (INSTALL - 308)) | (1L << (INSTANCE - 308)) | (1L << (INVISIBLE - 308)) | (1L << (INVOKER - 308)) | (1L << (IO - 308)) | (1L << (IPC - 308)) | (1L << (ISOLATION - 308)) | (1L << (ISSUER - 308)) | (1L << (JSON - 308)) | (1L << (JSON_VALUE - 308)) | (1L << (KEY - 308)) | (1L << (KEY_BLOCK_SIZE - 308)) | (1L << (LANGUAGE - 308)) | (1L << (LAST - 308)) | (1L << (LAST_VALUE - 308)) | (1L << (LEAVES - 308)) | (1L << (LESS - 308)) | (1L << (LEVEL - 308)))) != 0) || ((((_la - 373)) & ~0x3f) == 0 && ((1L << (_la - 373)) & ((1L << (LINESTRING - 373)) | (1L << (LIST - 373)) | (1L << (LOCAL - 373)) | (1L << (LOCKED - 373)) | (1L << (LOCKS - 373)) | (1L << (LOGFILE - 373)) | (1L << (LOGS - 373)) | (1L << (MASTER - 373)) | (1L << (MASTER_AUTO_POSITION - 373)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 373)) | (1L << (MASTER_CONNECT_RETRY - 373)) | (1L << (MASTER_DELAY - 373)) | (1L << (MASTER_HEARTBEAT_PERIOD - 373)) | (1L << (MASTER_HOST - 373)) | (1L << (MASTER_LOG_FILE - 373)) | (1L << (MASTER_LOG_POS - 373)) | (1L << (MASTER_PASSWORD - 373)) | (1L << (MASTER_PORT - 373)) | (1L << (MASTER_PUBLIC_KEY_PATH - 373)) | (1L << (MASTER_RETRY_COUNT - 373)) | (1L << (MASTER_SERVER_ID - 373)) | (1L << (MASTER_SSL - 373)) | (1L << (MASTER_SSL_CA - 373)) | (1L << (MASTER_SSL_CAPATH - 373)) | (1L << (MASTER_SSL_CERT - 373)) | (1L << (MASTER_SSL_CIPHER - 373)) | (1L << (MASTER_SSL_CRL - 373)) | (1L << (MASTER_SSL_CRLPATH - 373)) | (1L << (MASTER_SSL_KEY - 373)) | (1L << (MASTER_TLS_CIPHERSUITES - 373)) | (1L << (MASTER_TLS_VERSION - 373)) | (1L << (MASTER_USER - 373)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 373)) | (1L << (MAXVALUE - 373)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 373)) | (1L << (MAX_QUERIES_PER_HOUR - 373)) | (1L << (MAX_ROWS - 373)) | (1L << (MAX_SIZE - 373)) | (1L << (MAX_UPDATES_PER_HOUR - 373)) | (1L << (MAX_USER_CONNECTIONS - 373)) | (1L << (MEDIUM - 373)) | (1L << (MEMBER - 373)) | (1L << (MEMORY - 373)) | (1L << (MERGE - 373)) | (1L << (MESSAGE_TEXT - 373)) | (1L << (MICROSECOND - 373)))) != 0) || ((((_la - 437)) & ~0x3f) == 0 && ((1L << (_la - 437)) & ((1L << (MIGRATE - 437)) | (1L << (MINUTE - 437)) | (1L << (MIN_ROWS - 437)) | (1L << (MODE - 437)) | (1L << (MODIFY - 437)) | (1L << (MONTH - 437)) | (1L << (MULTILINESTRING - 437)) | (1L << (MULTIPOINT - 437)) | (1L << (MULTIPOLYGON - 437)) | (1L << (MUTEX - 437)) | (1L << (MYSQL_ERRNO - 437)) | (1L << (NAME - 437)) | (1L << (NAMES - 437)) | (1L << (NATIONAL - 437)) | (1L << (NCHAR - 437)) | (1L << (NDBCLUSTER - 437)) | (1L << (NESTED - 437)) | (1L << (NETWORK_NAMESPACE - 437)) | (1L << (NEVER - 437)) | (1L << (NEW - 437)) | (1L << (NEXT - 437)) | (1L << (NO - 437)) | (1L << (NODEGROUP - 437)) | (1L << (NONE - 437)) | (1L << (NOWAIT - 437)) | (1L << (NO_WAIT - 437)) | (1L << (NULLS - 437)) | (1L << (NUMBER - 437)) | (1L << (NVARCHAR - 437)) | (1L << (OFF - 437)) | (1L << (OFFSET - 437)) | (1L << (OJ - 437)) | (1L << (OLD - 437)) | (1L << (ONE - 437)) | (1L << (ONLY - 437)) | (1L << (OPEN - 437)) | (1L << (OPTIONAL - 437)) | (1L << (OPTIONS - 437)) | (1L << (ORDINALITY - 437)) | (1L << (ORGANIZATION - 437)) | (1L << (OTHERS - 437)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (OWNER - 505)) | (1L << (PACK_KEYS - 505)) | (1L << (PAGE - 505)) | (1L << (PARSER - 505)) | (1L << (PARTIAL - 505)) | (1L << (PARTITIONING - 505)) | (1L << (PARTITIONS - 505)) | (1L << (PASSWORD - 505)) | (1L << (PASSWORD_LOCK_TIME - 505)) | (1L << (PATH - 505)) | (1L << (PERSIST - 505)) | (1L << (PERSIST_ONLY - 505)) | (1L << (PHASE - 505)) | (1L << (PLUGIN - 505)) | (1L << (PLUGINS - 505)) | (1L << (PLUGIN_DIR - 505)) | (1L << (POINT - 505)) | (1L << (POLYGON - 505)) | (1L << (PORT - 505)) | (1L << (PRECEDES - 505)) | (1L << (PRECEDING - 505)) | (1L << (PREPARE - 505)) | (1L << (PRESERVE - 505)) | (1L << (PREV - 505)) | (1L << (PRIMARY - 505)) | (1L << (PRIVILEGES - 505)) | (1L << (PRIVILEGE_CHECKS_USER - 505)) | (1L << (PROCESS - 505)) | (1L << (PROCESSLIST - 505)) | (1L << (PROFILE - 505)) | (1L << (PROFILES - 505)) | (1L << (PROXY - 505)) | (1L << (QUARTER - 505)) | (1L << (QUERY - 505)) | (1L << (QUICK - 505)) | (1L << (RANDOM - 505)) | (1L << (READ_ONLY - 505)) | (1L << (REBUILD - 505)) | (1L << (RECOVER - 505)) | (1L << (REDO_BUFFER_SIZE - 505)) | (1L << (REDUNDANT - 505)) | (1L << (REFERENCE - 505)) | (1L << (RELAY - 505)) | (1L << (RELAYLOG - 505)) | (1L << (RELAY_LOG_FILE - 505)) | (1L << (RELAY_LOG_POS - 505)) | (1L << (RELAY_THREAD - 505)) | (1L << (RELOAD - 505)) | (1L << (REMOVE - 505)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (REORGANIZE - 570)) | (1L << (REPAIR - 570)) | (1L << (REPEATABLE - 570)) | (1L << (REPLICATE_DO_DB - 570)) | (1L << (REPLICATE_DO_TABLE - 570)) | (1L << (REPLICATE_IGNORE_DB - 570)) | (1L << (REPLICATE_IGNORE_TABLE - 570)) | (1L << (REPLICATE_REWRITE_DB - 570)) | (1L << (REPLICATE_WILD_DO_TABLE - 570)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 570)) | (1L << (REPLICATION - 570)) | (1L << (REQUIRE_ROW_FORMAT - 570)) | (1L << (RESET - 570)) | (1L << (RESOURCE - 570)) | (1L << (RESPECT - 570)) | (1L << (RESTART - 570)) | (1L << (RESTORE - 570)) | (1L << (RESUME - 570)) | (1L << (RETAIN - 570)) | (1L << (RETURNED_SQLSTATE - 570)) | (1L << (RETURNING - 570)) | (1L << (RETURNS - 570)) | (1L << (REUSE - 570)) | (1L << (REVERSE - 570)) | (1L << (ROLE - 570)) | (1L << (ROLLBACK - 570)) | (1L << (ROLLUP - 570)) | (1L << (ROTATE - 570)) | (1L << (ROUTINE - 570)) | (1L << (ROW_COUNT - 570)) | (1L << (ROW_FORMAT - 570)) | (1L << (RTREE - 570)) | (1L << (SAVEPOINT - 570)) | (1L << (SCHEDULE - 570)) | (1L << (SCHEMA_NAME - 570)) | (1L << (SECOND - 570)) | (1L << (SECONDARY - 570)) | (1L << (SECONDARY_ENGINE - 570)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 570)) | (1L << (SECONDARY_LOAD - 570)) | (1L << (SECONDARY_UNLOAD - 570)) | (1L << (SECURITY - 570)) | (1L << (SERIAL - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (SERIALIZABLE - 634)) | (1L << (SERVER - 634)) | (1L << (SESSION - 634)) | (1L << (SHARE - 634)) | (1L << (SHUTDOWN - 634)) | (1L << (SIGNED - 634)) | (1L << (SIMPLE - 634)) | (1L << (SLAVE - 634)) | (1L << (SLOW - 634)) | (1L << (SNAPSHOT - 634)) | (1L << (SOCKET - 634)) | (1L << (SONAME - 634)) | (1L << (SOUNDS - 634)) | (1L << (SOURCE - 634)) | (1L << (SQL_AFTER_GTIDS - 634)) | (1L << (SQL_AFTER_MTS_GAPS - 634)) | (1L << (SQL_BEFORE_GTIDS - 634)) | (1L << (SQL_BUFFER_RESULT - 634)) | (1L << (SQL_NO_CACHE - 634)) | (1L << (SQL_THREAD - 634)) | (1L << (SRID - 634)) | (1L << (STACKED - 634)) | (1L << (START - 634)) | (1L << (STARTS - 634)) | (1L << (STATS_AUTO_RECALC - 634)) | (1L << (STATS_PERSISTENT - 634)) | (1L << (STATS_SAMPLE_PAGES - 634)) | (1L << (STATUS - 634)) | (1L << (STOP - 634)) | (1L << (STORAGE - 634)) | (1L << (STREAM - 634)) | (1L << (STRING - 634)) | (1L << (SUBCLASS_ORIGIN - 634)) | (1L << (SUBJECT - 634)) | (1L << (SUBPARTITION - 634)) | (1L << (SUBPARTITIONS - 634)) | (1L << (SUPER - 634)) | (1L << (SUSPEND - 634)) | (1L << (SWAPS - 634)) | (1L << (SWITCHES - 634)) | (1L << (SYSTEM - 634)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (TABLE - 722)) | (1L << (TABLES - 722)) | (1L << (TABLESPACE - 722)) | (1L << (TABLE_CHECKSUM - 722)) | (1L << (TABLE_NAME - 722)) | (1L << (TEMPORARY - 722)) | (1L << (TEMPTABLE - 722)) | (1L << (TEXT - 722)) | (1L << (THAN - 722)) | (1L << (THREAD_PRIORITY - 722)) | (1L << (TIES - 722)) | (1L << (TIME - 722)) | (1L << (TIMESTAMP - 722)) | (1L << (TIMESTAMP_ADD - 722)) | (1L << (TIMESTAMP_DIFF - 722)) | (1L << (TLS - 722)) | (1L << (TRANSACTION - 722)) | (1L << (TRIGGERS - 722)) | (1L << (TRUNCATE - 722)) | (1L << (TYPE - 722)) | (1L << (TYPES - 722)) | (1L << (UNBOUNDED - 722)) | (1L << (UNCOMMITTED - 722)) | (1L << (UNDEFINED - 722)) | (1L << (UNDOFILE - 722)) | (1L << (UNDO_BUFFER_SIZE - 722)) | (1L << (UNICODE - 722)) | (1L << (UNINSTALL - 722)) | (1L << (UNKNOWN - 722)) | (1L << (UNTIL - 722)) | (1L << (UPGRADE - 722)) | (1L << (USER - 722)) | (1L << (USER_RESOURCES - 722)) | (1L << (USE_FRM - 722)) | (1L << (UTC_DATE - 722)) | (1L << (UTC_TIME - 722)) | (1L << (UTC_TIMESTAMP - 722)) | (1L << (VALIDATION - 722)) | (1L << (VALUE - 722)) | (1L << (VARIABLES - 722)))) != 0) || ((((_la - 787)) & ~0x3f) == 0 && ((1L << (_la - 787)) & ((1L << (VCPU - 787)) | (1L << (VIEW - 787)) | (1L << (VISIBLE - 787)) | (1L << (WAIT - 787)) | (1L << (WARNINGS - 787)) | (1L << (WEEK - 787)) | (1L << (WEIGHT_STRING - 787)) | (1L << (WITHOUT - 787)) | (1L << (WORK - 787)) | (1L << (WRAPPER - 787)) | (1L << (X509 - 787)) | (1L << (XA - 787)) | (1L << (XID - 787)) | (1L << (XML - 787)) | (1L << (YEAR - 787)) | (1L << (YEAR_MONTH - 787)) | (1L << (DOUBLE_QUOTED_TEXT - 787)) | (1L << (BQUOTA_STRING - 787)) | (1L << (UNDERSCORE_CHARSET - 787)))) != 0) || _la==IDENTIFIER_) {
954 {
955 setState(540);
956 fields();
957 }
958 }
959
960 setState(543);
961 match(RP_);
962 }
963 }
964
965 setState(546);
966 _la = _input.LA(1);
967 if ( !(_la==VALUE || _la==VALUES) ) {
968 _errHandler.recoverInline(this);
969 }
970 else {
971 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
972 _errHandler.reportMatch(this);
973 consume();
974 }
975 setState(556);
976 _errHandler.sync(this);
977 switch (_input.LA(1)) {
978 case LP_:
979 {
980 setState(547);
981 assignmentValues();
982 setState(552);
983 _errHandler.sync(this);
984 _la = _input.LA(1);
985 while (_la==COMMA_) {
986 {
987 {
988 setState(548);
989 match(COMMA_);
990 setState(549);
991 assignmentValues();
992 }
993 }
994 setState(554);
995 _errHandler.sync(this);
996 _la = _input.LA(1);
997 }
998 }
999 break;
1000 case ROW:
1001 {
1002 setState(555);
1003 rowConstructorList();
1004 }
1005 break;
1006 default:
1007 throw new NoViableAltException(this);
1008 }
1009 setState(559);
1010 _errHandler.sync(this);
1011 switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
1012 case 1:
1013 {
1014 setState(558);
1015 valueReference();
1016 }
1017 break;
1018 }
1019 }
1020 }
1021 catch (RecognitionException re) {
1022 _localctx.exception = re;
1023 _errHandler.reportError(this, re);
1024 _errHandler.recover(this, re);
1025 }
1026 finally {
1027 exitRule();
1028 }
1029 return _localctx;
1030 }
1031
1032 public static class FieldsContext extends ParserRuleContext {
1033 public List<InsertIdentifierContext> insertIdentifier() {
1034 return getRuleContexts(InsertIdentifierContext.class);
1035 }
1036 public InsertIdentifierContext insertIdentifier(int i) {
1037 return getRuleContext(InsertIdentifierContext.class,i);
1038 }
1039 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
1040 public TerminalNode COMMA_(int i) {
1041 return getToken(HiveStatementParser.COMMA_, i);
1042 }
1043 public FieldsContext(ParserRuleContext parent, int invokingState) {
1044 super(parent, invokingState);
1045 }
1046 @Override public int getRuleIndex() { return RULE_fields; }
1047 @Override
1048 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1049 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFields(this);
1050 else return visitor.visitChildren(this);
1051 }
1052 }
1053
1054 public final FieldsContext fields() throws RecognitionException {
1055 FieldsContext _localctx = new FieldsContext(_ctx, getState());
1056 enterRule(_localctx, 8, RULE_fields);
1057 int _la;
1058 try {
1059 enterOuterAlt(_localctx, 1);
1060 {
1061 setState(561);
1062 insertIdentifier();
1063 setState(566);
1064 _errHandler.sync(this);
1065 _la = _input.LA(1);
1066 while (_la==COMMA_) {
1067 {
1068 {
1069 setState(562);
1070 match(COMMA_);
1071 setState(563);
1072 insertIdentifier();
1073 }
1074 }
1075 setState(568);
1076 _errHandler.sync(this);
1077 _la = _input.LA(1);
1078 }
1079 }
1080 }
1081 catch (RecognitionException re) {
1082 _localctx.exception = re;
1083 _errHandler.reportError(this, re);
1084 _errHandler.recover(this, re);
1085 }
1086 finally {
1087 exitRule();
1088 }
1089 return _localctx;
1090 }
1091
1092 public static class InsertIdentifierContext extends ParserRuleContext {
1093 public ColumnRefContext columnRef() {
1094 return getRuleContext(ColumnRefContext.class,0);
1095 }
1096 public TableWildContext tableWild() {
1097 return getRuleContext(TableWildContext.class,0);
1098 }
1099 public InsertIdentifierContext(ParserRuleContext parent, int invokingState) {
1100 super(parent, invokingState);
1101 }
1102 @Override public int getRuleIndex() { return RULE_insertIdentifier; }
1103 @Override
1104 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1105 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitInsertIdentifier(this);
1106 else return visitor.visitChildren(this);
1107 }
1108 }
1109
1110 public final InsertIdentifierContext insertIdentifier() throws RecognitionException {
1111 InsertIdentifierContext _localctx = new InsertIdentifierContext(_ctx, getState());
1112 enterRule(_localctx, 10, RULE_insertIdentifier);
1113 try {
1114 setState(571);
1115 _errHandler.sync(this);
1116 switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) {
1117 case 1:
1118 enterOuterAlt(_localctx, 1);
1119 {
1120 setState(569);
1121 columnRef();
1122 }
1123 break;
1124 case 2:
1125 enterOuterAlt(_localctx, 2);
1126 {
1127 setState(570);
1128 tableWild();
1129 }
1130 break;
1131 }
1132 }
1133 catch (RecognitionException re) {
1134 _localctx.exception = re;
1135 _errHandler.reportError(this, re);
1136 _errHandler.recover(this, re);
1137 }
1138 finally {
1139 exitRule();
1140 }
1141 return _localctx;
1142 }
1143
1144 public static class TableWildContext extends ParserRuleContext {
1145 public List<IdentifierContext> identifier() {
1146 return getRuleContexts(IdentifierContext.class);
1147 }
1148 public IdentifierContext identifier(int i) {
1149 return getRuleContext(IdentifierContext.class,i);
1150 }
1151 public List<TerminalNode> DOT_() { return getTokens(HiveStatementParser.DOT_); }
1152 public TerminalNode DOT_(int i) {
1153 return getToken(HiveStatementParser.DOT_, i);
1154 }
1155 public TerminalNode ASTERISK_() { return getToken(HiveStatementParser.ASTERISK_, 0); }
1156 public TableWildContext(ParserRuleContext parent, int invokingState) {
1157 super(parent, invokingState);
1158 }
1159 @Override public int getRuleIndex() { return RULE_tableWild; }
1160 @Override
1161 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1162 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableWild(this);
1163 else return visitor.visitChildren(this);
1164 }
1165 }
1166
1167 public final TableWildContext tableWild() throws RecognitionException {
1168 TableWildContext _localctx = new TableWildContext(_ctx, getState());
1169 enterRule(_localctx, 12, RULE_tableWild);
1170 int _la;
1171 try {
1172 enterOuterAlt(_localctx, 1);
1173 {
1174 setState(573);
1175 identifier();
1176 setState(574);
1177 match(DOT_);
1178 setState(578);
1179 _errHandler.sync(this);
1180 _la = _input.LA(1);
1181 if (((((_la - 47)) & ~0x3f) == 0 && ((1L << (_la - 47)) & ((1L << (MAX - 47)) | (1L << (MIN - 47)) | (1L << (SUM - 47)) | (1L << (COUNT - 47)) | (1L << (GROUP_CONCAT - 47)) | (1L << (CAST - 47)) | (1L << (POSITION - 47)) | (1L << (SUBSTRING - 47)) | (1L << (SUBSTR - 47)) | (1L << (EXTRACT - 47)) | (1L << (TRIM - 47)) | (1L << (LAST_DAY - 47)) | (1L << (TRADITIONAL - 47)) | (1L << (TREE - 47)) | (1L << (MYSQL_MAIN - 47)) | (1L << (MYSQL_ADMIN - 47)) | (1L << (INSTANT - 47)) | (1L << (INPLACE - 47)) | (1L << (COPY - 47)) | (1L << (UL_BINARY - 47)) | (1L << (AUTOCOMMIT - 47)) | (1L << (INNODB - 47)) | (1L << (REDO_LOG - 47)) | (1L << (ACCOUNT - 47)) | (1L << (ACTION - 47)) | (1L << (ACTIVE - 47)) | (1L << (ADMIN - 47)) | (1L << (AFTER - 47)) | (1L << (AGAINST - 47)) | (1L << (AGGREGATE - 47)) | (1L << (ALGORITHM - 47)) | (1L << (ALWAYS - 47)) | (1L << (ANY - 47)) | (1L << (ARRAY - 47)) | (1L << (ASCII - 47)) | (1L << (AT - 47)) | (1L << (ATTRIBUTE - 47)) | (1L << (AUTOEXTEND_SIZE - 47)) | (1L << (AUTO_INCREMENT - 47)) | (1L << (AVG - 47)) | (1L << (BIT_XOR - 47)) | (1L << (AVG_ROW_LENGTH - 47)) | (1L << (BACKUP - 47)) | (1L << (BEGIN - 47)) | (1L << (BINLOG - 47)) | (1L << (BIT - 47)) | (1L << (BLOCK - 47)))) != 0) || ((((_la - 111)) & ~0x3f) == 0 && ((1L << (_la - 111)) & ((1L << (BOOL - 111)) | (1L << (BOOLEAN - 111)) | (1L << (BTREE - 111)) | (1L << (BUCKETS - 111)) | (1L << (BYTE - 111)) | (1L << (CACHE - 111)) | (1L << (CASCADED - 111)) | (1L << (CATALOG_NAME - 111)) | (1L << (CHAIN - 111)) | (1L << (CHANGED - 111)) | (1L << (CHANNEL - 111)) | (1L << (CHARSET - 111)) | (1L << (CHECKSUM - 111)) | (1L << (CIPHER - 111)) | (1L << (CLASS_ORIGIN - 111)) | (1L << (CLIENT - 111)) | (1L << (CLONE - 111)) | (1L << (CLOSE - 111)) | (1L << (COALESCE - 111)) | (1L << (CODE - 111)) | (1L << (COLLATION - 111)) | (1L << (COLUMNS - 111)) | (1L << (COLUMN_FORMAT - 111)) | (1L << (COLUMN_NAME - 111)) | (1L << (COMMENT - 111)) | (1L << (COMMIT - 111)) | (1L << (COMMITTED - 111)) | (1L << (COMPACT - 111)) | (1L << (COMPLETION - 111)) | (1L << (COMPONENT - 111)) | (1L << (COMPRESSED - 111)) | (1L << (COMPRESSION - 111)) | (1L << (CONCURRENT - 111)) | (1L << (CONNECTION - 111)) | (1L << (CONSISTENT - 111)) | (1L << (CONSTRAINT_CATALOG - 111)) | (1L << (CONSTRAINT_NAME - 111)) | (1L << (CONSTRAINT_SCHEMA - 111)) | (1L << (CONTAINS - 111)) | (1L << (CONTEXT - 111)) | (1L << (CPU - 111)) | (1L << (CREATE - 111)) | (1L << (CURRENT - 111)))) != 0) || ((((_la - 179)) & ~0x3f) == 0 && ((1L << (_la - 179)) & ((1L << (CURSOR_NAME - 179)) | (1L << (DATA - 179)) | (1L << (DATAFILE - 179)) | (1L << (DATE - 179)) | (1L << (DATETIME - 179)) | (1L << (DAY - 179)) | (1L << (DAY_MINUTE - 179)) | (1L << (DEALLOCATE - 179)) | (1L << (DEFAULT_AUTH - 179)) | (1L << (DEFINER - 179)) | (1L << (DEFINITION - 179)) | (1L << (DELAY_KEY_WRITE - 179)) | (1L << (DESCRIPTION - 179)) | (1L << (DIAGNOSTICS - 179)) | (1L << (DIRECTORY - 179)) | (1L << (DISABLE - 179)) | (1L << (DISCARD - 179)) | (1L << (DISK - 179)) | (1L << (DO - 179)) | (1L << (DUMPFILE - 179)) | (1L << (DUPLICATE - 179)) | (1L << (DYNAMIC - 179)) | (1L << (ENABLE - 179)) | (1L << (ENCRYPTION - 179)) | (1L << (END - 179)) | (1L << (ENDS - 179)) | (1L << (ENFORCED - 179)) | (1L << (ENGINE - 179)) | (1L << (ENGINES - 179)) | (1L << (ENGINE_ATTRIBUTE - 179)) | (1L << (ENUM - 179)) | (1L << (ERROR - 179)) | (1L << (ERRORS - 179)) | (1L << (ESCAPE - 179)) | (1L << (EVENT - 179)) | (1L << (EVENTS - 179)) | (1L << (EVERY - 179)))) != 0) || ((((_la - 244)) & ~0x3f) == 0 && ((1L << (_la - 244)) & ((1L << (EXCHANGE - 244)) | (1L << (EXCLUDE - 244)) | (1L << (EXECUTE - 244)) | (1L << (EXPANSION - 244)) | (1L << (EXPIRE - 244)) | (1L << (EXPORT - 244)) | (1L << (EXTENDED - 244)) | (1L << (EXTENT_SIZE - 244)) | (1L << (FAILED_LOGIN_ATTEMPTS - 244)) | (1L << (FAST - 244)) | (1L << (FAULTS - 244)) | (1L << (FILE - 244)) | (1L << (FILE_BLOCK_SIZE - 244)) | (1L << (FILTER - 244)) | (1L << (FIRST - 244)) | (1L << (FIXED - 244)) | (1L << (FLUSH - 244)) | (1L << (FOLLOWING - 244)) | (1L << (FOLLOWS - 244)) | (1L << (FORMAT - 244)) | (1L << (FOUND - 244)) | (1L << (FULL - 244)) | (1L << (GENERAL - 244)) | (1L << (GEOMETRY - 244)) | (1L << (GEOMETRYCOLLECTION - 244)) | (1L << (GET_FORMAT - 244)) | (1L << (GET_MASTER_PUBLIC_KEY - 244)) | (1L << (GLOBAL - 244)) | (1L << (GRANTS - 244)) | (1L << (GROUP_REPLICATION - 244)) | (1L << (HANDLER - 244)) | (1L << (HASH - 244)) | (1L << (HELP - 244)) | (1L << (HISTOGRAM - 244)) | (1L << (HISTORY - 244)) | (1L << (HOST - 244)) | (1L << (HOSTS - 244)))) != 0) || ((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & ((1L << (HOUR - 308)) | (1L << (IDENTIFIED - 308)) | (1L << (IGNORE_SERVER_IDS - 308)) | (1L << (IMPORT - 308)) | (1L << (INACTIVE - 308)) | (1L << (INDEXES - 308)) | (1L << (INITIAL_SIZE - 308)) | (1L << (INSERT_METHOD - 308)) | (1L << (INSTALL - 308)) | (1L << (INSTANCE - 308)) | (1L << (INVISIBLE - 308)) | (1L << (INVOKER - 308)) | (1L << (IO - 308)) | (1L << (IPC - 308)) | (1L << (ISOLATION - 308)) | (1L << (ISSUER - 308)) | (1L << (JSON - 308)) | (1L << (JSON_VALUE - 308)) | (1L << (KEY - 308)) | (1L << (KEY_BLOCK_SIZE - 308)) | (1L << (LANGUAGE - 308)) | (1L << (LAST - 308)) | (1L << (LAST_VALUE - 308)) | (1L << (LEAVES - 308)) | (1L << (LESS - 308)) | (1L << (LEVEL - 308)))) != 0) || ((((_la - 373)) & ~0x3f) == 0 && ((1L << (_la - 373)) & ((1L << (LINESTRING - 373)) | (1L << (LIST - 373)) | (1L << (LOCAL - 373)) | (1L << (LOCKED - 373)) | (1L << (LOCKS - 373)) | (1L << (LOGFILE - 373)) | (1L << (LOGS - 373)) | (1L << (MASTER - 373)) | (1L << (MASTER_AUTO_POSITION - 373)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 373)) | (1L << (MASTER_CONNECT_RETRY - 373)) | (1L << (MASTER_DELAY - 373)) | (1L << (MASTER_HEARTBEAT_PERIOD - 373)) | (1L << (MASTER_HOST - 373)) | (1L << (MASTER_LOG_FILE - 373)) | (1L << (MASTER_LOG_POS - 373)) | (1L << (MASTER_PASSWORD - 373)) | (1L << (MASTER_PORT - 373)) | (1L << (MASTER_PUBLIC_KEY_PATH - 373)) | (1L << (MASTER_RETRY_COUNT - 373)) | (1L << (MASTER_SERVER_ID - 373)) | (1L << (MASTER_SSL - 373)) | (1L << (MASTER_SSL_CA - 373)) | (1L << (MASTER_SSL_CAPATH - 373)) | (1L << (MASTER_SSL_CERT - 373)) | (1L << (MASTER_SSL_CIPHER - 373)) | (1L << (MASTER_SSL_CRL - 373)) | (1L << (MASTER_SSL_CRLPATH - 373)) | (1L << (MASTER_SSL_KEY - 373)) | (1L << (MASTER_TLS_CIPHERSUITES - 373)) | (1L << (MASTER_TLS_VERSION - 373)) | (1L << (MASTER_USER - 373)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 373)) | (1L << (MAXVALUE - 373)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 373)) | (1L << (MAX_QUERIES_PER_HOUR - 373)) | (1L << (MAX_ROWS - 373)) | (1L << (MAX_SIZE - 373)) | (1L << (MAX_UPDATES_PER_HOUR - 373)) | (1L << (MAX_USER_CONNECTIONS - 373)) | (1L << (MEDIUM - 373)) | (1L << (MEMBER - 373)) | (1L << (MEMORY - 373)) | (1L << (MERGE - 373)) | (1L << (MESSAGE_TEXT - 373)) | (1L << (MICROSECOND - 373)))) != 0) || ((((_la - 437)) & ~0x3f) == 0 && ((1L << (_la - 437)) & ((1L << (MIGRATE - 437)) | (1L << (MINUTE - 437)) | (1L << (MIN_ROWS - 437)) | (1L << (MODE - 437)) | (1L << (MODIFY - 437)) | (1L << (MONTH - 437)) | (1L << (MULTILINESTRING - 437)) | (1L << (MULTIPOINT - 437)) | (1L << (MULTIPOLYGON - 437)) | (1L << (MUTEX - 437)) | (1L << (MYSQL_ERRNO - 437)) | (1L << (NAME - 437)) | (1L << (NAMES - 437)) | (1L << (NATIONAL - 437)) | (1L << (NCHAR - 437)) | (1L << (NDBCLUSTER - 437)) | (1L << (NESTED - 437)) | (1L << (NETWORK_NAMESPACE - 437)) | (1L << (NEVER - 437)) | (1L << (NEW - 437)) | (1L << (NEXT - 437)) | (1L << (NO - 437)) | (1L << (NODEGROUP - 437)) | (1L << (NONE - 437)) | (1L << (NOWAIT - 437)) | (1L << (NO_WAIT - 437)) | (1L << (NULLS - 437)) | (1L << (NUMBER - 437)) | (1L << (NVARCHAR - 437)) | (1L << (OFF - 437)) | (1L << (OFFSET - 437)) | (1L << (OJ - 437)) | (1L << (OLD - 437)) | (1L << (ONE - 437)) | (1L << (ONLY - 437)) | (1L << (OPEN - 437)) | (1L << (OPTIONAL - 437)) | (1L << (OPTIONS - 437)) | (1L << (ORDINALITY - 437)) | (1L << (ORGANIZATION - 437)) | (1L << (OTHERS - 437)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (OWNER - 505)) | (1L << (PACK_KEYS - 505)) | (1L << (PAGE - 505)) | (1L << (PARSER - 505)) | (1L << (PARTIAL - 505)) | (1L << (PARTITIONING - 505)) | (1L << (PARTITIONS - 505)) | (1L << (PASSWORD - 505)) | (1L << (PASSWORD_LOCK_TIME - 505)) | (1L << (PATH - 505)) | (1L << (PERSIST - 505)) | (1L << (PERSIST_ONLY - 505)) | (1L << (PHASE - 505)) | (1L << (PLUGIN - 505)) | (1L << (PLUGINS - 505)) | (1L << (PLUGIN_DIR - 505)) | (1L << (POINT - 505)) | (1L << (POLYGON - 505)) | (1L << (PORT - 505)) | (1L << (PRECEDES - 505)) | (1L << (PRECEDING - 505)) | (1L << (PREPARE - 505)) | (1L << (PRESERVE - 505)) | (1L << (PREV - 505)) | (1L << (PRIMARY - 505)) | (1L << (PRIVILEGES - 505)) | (1L << (PRIVILEGE_CHECKS_USER - 505)) | (1L << (PROCESS - 505)) | (1L << (PROCESSLIST - 505)) | (1L << (PROFILE - 505)) | (1L << (PROFILES - 505)) | (1L << (PROXY - 505)) | (1L << (QUARTER - 505)) | (1L << (QUERY - 505)) | (1L << (QUICK - 505)) | (1L << (RANDOM - 505)) | (1L << (READ_ONLY - 505)) | (1L << (REBUILD - 505)) | (1L << (RECOVER - 505)) | (1L << (REDO_BUFFER_SIZE - 505)) | (1L << (REDUNDANT - 505)) | (1L << (REFERENCE - 505)) | (1L << (RELAY - 505)) | (1L << (RELAYLOG - 505)) | (1L << (RELAY_LOG_FILE - 505)) | (1L << (RELAY_LOG_POS - 505)) | (1L << (RELAY_THREAD - 505)) | (1L << (RELOAD - 505)) | (1L << (REMOVE - 505)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (REORGANIZE - 570)) | (1L << (REPAIR - 570)) | (1L << (REPEATABLE - 570)) | (1L << (REPLICATE_DO_DB - 570)) | (1L << (REPLICATE_DO_TABLE - 570)) | (1L << (REPLICATE_IGNORE_DB - 570)) | (1L << (REPLICATE_IGNORE_TABLE - 570)) | (1L << (REPLICATE_REWRITE_DB - 570)) | (1L << (REPLICATE_WILD_DO_TABLE - 570)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 570)) | (1L << (REPLICATION - 570)) | (1L << (REQUIRE_ROW_FORMAT - 570)) | (1L << (RESET - 570)) | (1L << (RESOURCE - 570)) | (1L << (RESPECT - 570)) | (1L << (RESTART - 570)) | (1L << (RESTORE - 570)) | (1L << (RESUME - 570)) | (1L << (RETAIN - 570)) | (1L << (RETURNED_SQLSTATE - 570)) | (1L << (RETURNING - 570)) | (1L << (RETURNS - 570)) | (1L << (REUSE - 570)) | (1L << (REVERSE - 570)) | (1L << (ROLE - 570)) | (1L << (ROLLBACK - 570)) | (1L << (ROLLUP - 570)) | (1L << (ROTATE - 570)) | (1L << (ROUTINE - 570)) | (1L << (ROW_COUNT - 570)) | (1L << (ROW_FORMAT - 570)) | (1L << (RTREE - 570)) | (1L << (SAVEPOINT - 570)) | (1L << (SCHEDULE - 570)) | (1L << (SCHEMA_NAME - 570)) | (1L << (SECOND - 570)) | (1L << (SECONDARY - 570)) | (1L << (SECONDARY_ENGINE - 570)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 570)) | (1L << (SECONDARY_LOAD - 570)) | (1L << (SECONDARY_UNLOAD - 570)) | (1L << (SECURITY - 570)) | (1L << (SERIAL - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (SERIALIZABLE - 634)) | (1L << (SERVER - 634)) | (1L << (SESSION - 634)) | (1L << (SHARE - 634)) | (1L << (SHUTDOWN - 634)) | (1L << (SIGNED - 634)) | (1L << (SIMPLE - 634)) | (1L << (SLAVE - 634)) | (1L << (SLOW - 634)) | (1L << (SNAPSHOT - 634)) | (1L << (SOCKET - 634)) | (1L << (SONAME - 634)) | (1L << (SOUNDS - 634)) | (1L << (SOURCE - 634)) | (1L << (SQL_AFTER_GTIDS - 634)) | (1L << (SQL_AFTER_MTS_GAPS - 634)) | (1L << (SQL_BEFORE_GTIDS - 634)) | (1L << (SQL_BUFFER_RESULT - 634)) | (1L << (SQL_NO_CACHE - 634)) | (1L << (SQL_THREAD - 634)) | (1L << (SRID - 634)) | (1L << (STACKED - 634)) | (1L << (START - 634)) | (1L << (STARTS - 634)) | (1L << (STATS_AUTO_RECALC - 634)) | (1L << (STATS_PERSISTENT - 634)) | (1L << (STATS_SAMPLE_PAGES - 634)) | (1L << (STATUS - 634)) | (1L << (STOP - 634)) | (1L << (STORAGE - 634)) | (1L << (STREAM - 634)) | (1L << (STRING - 634)) | (1L << (SUBCLASS_ORIGIN - 634)) | (1L << (SUBJECT - 634)) | (1L << (SUBPARTITION - 634)) | (1L << (SUBPARTITIONS - 634)) | (1L << (SUPER - 634)) | (1L << (SUSPEND - 634)) | (1L << (SWAPS - 634)) | (1L << (SWITCHES - 634)) | (1L << (SYSTEM - 634)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (TABLE - 722)) | (1L << (TABLES - 722)) | (1L << (TABLESPACE - 722)) | (1L << (TABLE_CHECKSUM - 722)) | (1L << (TABLE_NAME - 722)) | (1L << (TEMPORARY - 722)) | (1L << (TEMPTABLE - 722)) | (1L << (TEXT - 722)) | (1L << (THAN - 722)) | (1L << (THREAD_PRIORITY - 722)) | (1L << (TIES - 722)) | (1L << (TIME - 722)) | (1L << (TIMESTAMP - 722)) | (1L << (TIMESTAMP_ADD - 722)) | (1L << (TIMESTAMP_DIFF - 722)) | (1L << (TLS - 722)) | (1L << (TRANSACTION - 722)) | (1L << (TRIGGERS - 722)) | (1L << (TRUNCATE - 722)) | (1L << (TYPE - 722)) | (1L << (TYPES - 722)) | (1L << (UNBOUNDED - 722)) | (1L << (UNCOMMITTED - 722)) | (1L << (UNDEFINED - 722)) | (1L << (UNDOFILE - 722)) | (1L << (UNDO_BUFFER_SIZE - 722)) | (1L << (UNICODE - 722)) | (1L << (UNINSTALL - 722)) | (1L << (UNKNOWN - 722)) | (1L << (UNTIL - 722)) | (1L << (UPGRADE - 722)) | (1L << (USER - 722)) | (1L << (USER_RESOURCES - 722)) | (1L << (USE_FRM - 722)) | (1L << (UTC_DATE - 722)) | (1L << (UTC_TIME - 722)) | (1L << (UTC_TIMESTAMP - 722)) | (1L << (VALIDATION - 722)) | (1L << (VALUE - 722)) | (1L << (VARIABLES - 722)))) != 0) || ((((_la - 787)) & ~0x3f) == 0 && ((1L << (_la - 787)) & ((1L << (VCPU - 787)) | (1L << (VIEW - 787)) | (1L << (VISIBLE - 787)) | (1L << (WAIT - 787)) | (1L << (WARNINGS - 787)) | (1L << (WEEK - 787)) | (1L << (WEIGHT_STRING - 787)) | (1L << (WITHOUT - 787)) | (1L << (WORK - 787)) | (1L << (WRAPPER - 787)) | (1L << (X509 - 787)) | (1L << (XA - 787)) | (1L << (XID - 787)) | (1L << (XML - 787)) | (1L << (YEAR - 787)) | (1L << (YEAR_MONTH - 787)) | (1L << (DOUBLE_QUOTED_TEXT - 787)) | (1L << (BQUOTA_STRING - 787)) | (1L << (UNDERSCORE_CHARSET - 787)))) != 0) || _la==IDENTIFIER_) {
1182 {
1183 setState(575);
1184 identifier();
1185 setState(576);
1186 match(DOT_);
1187 }
1188 }
1189
1190 setState(580);
1191 match(ASTERISK_);
1192 }
1193 }
1194 catch (RecognitionException re) {
1195 _localctx.exception = re;
1196 _errHandler.reportError(this, re);
1197 _errHandler.recover(this, re);
1198 }
1199 finally {
1200 exitRule();
1201 }
1202 return _localctx;
1203 }
1204
1205 public static class InsertSelectClauseContext extends ParserRuleContext {
1206 public SelectContext select() {
1207 return getRuleContext(SelectContext.class,0);
1208 }
1209 public ValueReferenceContext valueReference() {
1210 return getRuleContext(ValueReferenceContext.class,0);
1211 }
1212 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
1213 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
1214 public FieldsContext fields() {
1215 return getRuleContext(FieldsContext.class,0);
1216 }
1217 public InsertSelectClauseContext(ParserRuleContext parent, int invokingState) {
1218 super(parent, invokingState);
1219 }
1220 @Override public int getRuleIndex() { return RULE_insertSelectClause; }
1221 @Override
1222 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1223 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitInsertSelectClause(this);
1224 else return visitor.visitChildren(this);
1225 }
1226 }
1227
1228 public final InsertSelectClauseContext insertSelectClause() throws RecognitionException {
1229 InsertSelectClauseContext _localctx = new InsertSelectClauseContext(_ctx, getState());
1230 enterRule(_localctx, 14, RULE_insertSelectClause);
1231 int _la;
1232 try {
1233 enterOuterAlt(_localctx, 1);
1234 {
1235 setState(583);
1236 _errHandler.sync(this);
1237 _la = _input.LA(1);
1238 if (_la==AS) {
1239 {
1240 setState(582);
1241 valueReference();
1242 }
1243 }
1244
1245 setState(590);
1246 _errHandler.sync(this);
1247 switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
1248 case 1:
1249 {
1250 setState(585);
1251 match(LP_);
1252 setState(587);
1253 _errHandler.sync(this);
1254 _la = _input.LA(1);
1255 if (((((_la - 47)) & ~0x3f) == 0 && ((1L << (_la - 47)) & ((1L << (MAX - 47)) | (1L << (MIN - 47)) | (1L << (SUM - 47)) | (1L << (COUNT - 47)) | (1L << (GROUP_CONCAT - 47)) | (1L << (CAST - 47)) | (1L << (POSITION - 47)) | (1L << (SUBSTRING - 47)) | (1L << (SUBSTR - 47)) | (1L << (EXTRACT - 47)) | (1L << (TRIM - 47)) | (1L << (LAST_DAY - 47)) | (1L << (TRADITIONAL - 47)) | (1L << (TREE - 47)) | (1L << (MYSQL_MAIN - 47)) | (1L << (MYSQL_ADMIN - 47)) | (1L << (INSTANT - 47)) | (1L << (INPLACE - 47)) | (1L << (COPY - 47)) | (1L << (UL_BINARY - 47)) | (1L << (AUTOCOMMIT - 47)) | (1L << (INNODB - 47)) | (1L << (REDO_LOG - 47)) | (1L << (ACCOUNT - 47)) | (1L << (ACTION - 47)) | (1L << (ACTIVE - 47)) | (1L << (ADMIN - 47)) | (1L << (AFTER - 47)) | (1L << (AGAINST - 47)) | (1L << (AGGREGATE - 47)) | (1L << (ALGORITHM - 47)) | (1L << (ALWAYS - 47)) | (1L << (ANY - 47)) | (1L << (ARRAY - 47)) | (1L << (ASCII - 47)) | (1L << (AT - 47)) | (1L << (ATTRIBUTE - 47)) | (1L << (AUTOEXTEND_SIZE - 47)) | (1L << (AUTO_INCREMENT - 47)) | (1L << (AVG - 47)) | (1L << (BIT_XOR - 47)) | (1L << (AVG_ROW_LENGTH - 47)) | (1L << (BACKUP - 47)) | (1L << (BEGIN - 47)) | (1L << (BINLOG - 47)) | (1L << (BIT - 47)) | (1L << (BLOCK - 47)))) != 0) || ((((_la - 111)) & ~0x3f) == 0 && ((1L << (_la - 111)) & ((1L << (BOOL - 111)) | (1L << (BOOLEAN - 111)) | (1L << (BTREE - 111)) | (1L << (BUCKETS - 111)) | (1L << (BYTE - 111)) | (1L << (CACHE - 111)) | (1L << (CASCADED - 111)) | (1L << (CATALOG_NAME - 111)) | (1L << (CHAIN - 111)) | (1L << (CHANGED - 111)) | (1L << (CHANNEL - 111)) | (1L << (CHARSET - 111)) | (1L << (CHECKSUM - 111)) | (1L << (CIPHER - 111)) | (1L << (CLASS_ORIGIN - 111)) | (1L << (CLIENT - 111)) | (1L << (CLONE - 111)) | (1L << (CLOSE - 111)) | (1L << (COALESCE - 111)) | (1L << (CODE - 111)) | (1L << (COLLATION - 111)) | (1L << (COLUMNS - 111)) | (1L << (COLUMN_FORMAT - 111)) | (1L << (COLUMN_NAME - 111)) | (1L << (COMMENT - 111)) | (1L << (COMMIT - 111)) | (1L << (COMMITTED - 111)) | (1L << (COMPACT - 111)) | (1L << (COMPLETION - 111)) | (1L << (COMPONENT - 111)) | (1L << (COMPRESSED - 111)) | (1L << (COMPRESSION - 111)) | (1L << (CONCURRENT - 111)) | (1L << (CONNECTION - 111)) | (1L << (CONSISTENT - 111)) | (1L << (CONSTRAINT_CATALOG - 111)) | (1L << (CONSTRAINT_NAME - 111)) | (1L << (CONSTRAINT_SCHEMA - 111)) | (1L << (CONTAINS - 111)) | (1L << (CONTEXT - 111)) | (1L << (CPU - 111)) | (1L << (CREATE - 111)) | (1L << (CURRENT - 111)))) != 0) || ((((_la - 179)) & ~0x3f) == 0 && ((1L << (_la - 179)) & ((1L << (CURSOR_NAME - 179)) | (1L << (DATA - 179)) | (1L << (DATAFILE - 179)) | (1L << (DATE - 179)) | (1L << (DATETIME - 179)) | (1L << (DAY - 179)) | (1L << (DAY_MINUTE - 179)) | (1L << (DEALLOCATE - 179)) | (1L << (DEFAULT_AUTH - 179)) | (1L << (DEFINER - 179)) | (1L << (DEFINITION - 179)) | (1L << (DELAY_KEY_WRITE - 179)) | (1L << (DESCRIPTION - 179)) | (1L << (DIAGNOSTICS - 179)) | (1L << (DIRECTORY - 179)) | (1L << (DISABLE - 179)) | (1L << (DISCARD - 179)) | (1L << (DISK - 179)) | (1L << (DO - 179)) | (1L << (DUMPFILE - 179)) | (1L << (DUPLICATE - 179)) | (1L << (DYNAMIC - 179)) | (1L << (ENABLE - 179)) | (1L << (ENCRYPTION - 179)) | (1L << (END - 179)) | (1L << (ENDS - 179)) | (1L << (ENFORCED - 179)) | (1L << (ENGINE - 179)) | (1L << (ENGINES - 179)) | (1L << (ENGINE_ATTRIBUTE - 179)) | (1L << (ENUM - 179)) | (1L << (ERROR - 179)) | (1L << (ERRORS - 179)) | (1L << (ESCAPE - 179)) | (1L << (EVENT - 179)) | (1L << (EVENTS - 179)) | (1L << (EVERY - 179)))) != 0) || ((((_la - 244)) & ~0x3f) == 0 && ((1L << (_la - 244)) & ((1L << (EXCHANGE - 244)) | (1L << (EXCLUDE - 244)) | (1L << (EXECUTE - 244)) | (1L << (EXPANSION - 244)) | (1L << (EXPIRE - 244)) | (1L << (EXPORT - 244)) | (1L << (EXTENDED - 244)) | (1L << (EXTENT_SIZE - 244)) | (1L << (FAILED_LOGIN_ATTEMPTS - 244)) | (1L << (FAST - 244)) | (1L << (FAULTS - 244)) | (1L << (FILE - 244)) | (1L << (FILE_BLOCK_SIZE - 244)) | (1L << (FILTER - 244)) | (1L << (FIRST - 244)) | (1L << (FIXED - 244)) | (1L << (FLUSH - 244)) | (1L << (FOLLOWING - 244)) | (1L << (FOLLOWS - 244)) | (1L << (FORMAT - 244)) | (1L << (FOUND - 244)) | (1L << (FULL - 244)) | (1L << (GENERAL - 244)) | (1L << (GEOMETRY - 244)) | (1L << (GEOMETRYCOLLECTION - 244)) | (1L << (GET_FORMAT - 244)) | (1L << (GET_MASTER_PUBLIC_KEY - 244)) | (1L << (GLOBAL - 244)) | (1L << (GRANTS - 244)) | (1L << (GROUP_REPLICATION - 244)) | (1L << (HANDLER - 244)) | (1L << (HASH - 244)) | (1L << (HELP - 244)) | (1L << (HISTOGRAM - 244)) | (1L << (HISTORY - 244)) | (1L << (HOST - 244)) | (1L << (HOSTS - 244)))) != 0) || ((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & ((1L << (HOUR - 308)) | (1L << (IDENTIFIED - 308)) | (1L << (IGNORE_SERVER_IDS - 308)) | (1L << (IMPORT - 308)) | (1L << (INACTIVE - 308)) | (1L << (INDEXES - 308)) | (1L << (INITIAL_SIZE - 308)) | (1L << (INSERT_METHOD - 308)) | (1L << (INSTALL - 308)) | (1L << (INSTANCE - 308)) | (1L << (INVISIBLE - 308)) | (1L << (INVOKER - 308)) | (1L << (IO - 308)) | (1L << (IPC - 308)) | (1L << (ISOLATION - 308)) | (1L << (ISSUER - 308)) | (1L << (JSON - 308)) | (1L << (JSON_VALUE - 308)) | (1L << (KEY - 308)) | (1L << (KEY_BLOCK_SIZE - 308)) | (1L << (LANGUAGE - 308)) | (1L << (LAST - 308)) | (1L << (LAST_VALUE - 308)) | (1L << (LEAVES - 308)) | (1L << (LESS - 308)) | (1L << (LEVEL - 308)))) != 0) || ((((_la - 373)) & ~0x3f) == 0 && ((1L << (_la - 373)) & ((1L << (LINESTRING - 373)) | (1L << (LIST - 373)) | (1L << (LOCAL - 373)) | (1L << (LOCKED - 373)) | (1L << (LOCKS - 373)) | (1L << (LOGFILE - 373)) | (1L << (LOGS - 373)) | (1L << (MASTER - 373)) | (1L << (MASTER_AUTO_POSITION - 373)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 373)) | (1L << (MASTER_CONNECT_RETRY - 373)) | (1L << (MASTER_DELAY - 373)) | (1L << (MASTER_HEARTBEAT_PERIOD - 373)) | (1L << (MASTER_HOST - 373)) | (1L << (MASTER_LOG_FILE - 373)) | (1L << (MASTER_LOG_POS - 373)) | (1L << (MASTER_PASSWORD - 373)) | (1L << (MASTER_PORT - 373)) | (1L << (MASTER_PUBLIC_KEY_PATH - 373)) | (1L << (MASTER_RETRY_COUNT - 373)) | (1L << (MASTER_SERVER_ID - 373)) | (1L << (MASTER_SSL - 373)) | (1L << (MASTER_SSL_CA - 373)) | (1L << (MASTER_SSL_CAPATH - 373)) | (1L << (MASTER_SSL_CERT - 373)) | (1L << (MASTER_SSL_CIPHER - 373)) | (1L << (MASTER_SSL_CRL - 373)) | (1L << (MASTER_SSL_CRLPATH - 373)) | (1L << (MASTER_SSL_KEY - 373)) | (1L << (MASTER_TLS_CIPHERSUITES - 373)) | (1L << (MASTER_TLS_VERSION - 373)) | (1L << (MASTER_USER - 373)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 373)) | (1L << (MAXVALUE - 373)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 373)) | (1L << (MAX_QUERIES_PER_HOUR - 373)) | (1L << (MAX_ROWS - 373)) | (1L << (MAX_SIZE - 373)) | (1L << (MAX_UPDATES_PER_HOUR - 373)) | (1L << (MAX_USER_CONNECTIONS - 373)) | (1L << (MEDIUM - 373)) | (1L << (MEMBER - 373)) | (1L << (MEMORY - 373)) | (1L << (MERGE - 373)) | (1L << (MESSAGE_TEXT - 373)) | (1L << (MICROSECOND - 373)))) != 0) || ((((_la - 437)) & ~0x3f) == 0 && ((1L << (_la - 437)) & ((1L << (MIGRATE - 437)) | (1L << (MINUTE - 437)) | (1L << (MIN_ROWS - 437)) | (1L << (MODE - 437)) | (1L << (MODIFY - 437)) | (1L << (MONTH - 437)) | (1L << (MULTILINESTRING - 437)) | (1L << (MULTIPOINT - 437)) | (1L << (MULTIPOLYGON - 437)) | (1L << (MUTEX - 437)) | (1L << (MYSQL_ERRNO - 437)) | (1L << (NAME - 437)) | (1L << (NAMES - 437)) | (1L << (NATIONAL - 437)) | (1L << (NCHAR - 437)) | (1L << (NDBCLUSTER - 437)) | (1L << (NESTED - 437)) | (1L << (NETWORK_NAMESPACE - 437)) | (1L << (NEVER - 437)) | (1L << (NEW - 437)) | (1L << (NEXT - 437)) | (1L << (NO - 437)) | (1L << (NODEGROUP - 437)) | (1L << (NONE - 437)) | (1L << (NOWAIT - 437)) | (1L << (NO_WAIT - 437)) | (1L << (NULLS - 437)) | (1L << (NUMBER - 437)) | (1L << (NVARCHAR - 437)) | (1L << (OFF - 437)) | (1L << (OFFSET - 437)) | (1L << (OJ - 437)) | (1L << (OLD - 437)) | (1L << (ONE - 437)) | (1L << (ONLY - 437)) | (1L << (OPEN - 437)) | (1L << (OPTIONAL - 437)) | (1L << (OPTIONS - 437)) | (1L << (ORDINALITY - 437)) | (1L << (ORGANIZATION - 437)) | (1L << (OTHERS - 437)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (OWNER - 505)) | (1L << (PACK_KEYS - 505)) | (1L << (PAGE - 505)) | (1L << (PARSER - 505)) | (1L << (PARTIAL - 505)) | (1L << (PARTITIONING - 505)) | (1L << (PARTITIONS - 505)) | (1L << (PASSWORD - 505)) | (1L << (PASSWORD_LOCK_TIME - 505)) | (1L << (PATH - 505)) | (1L << (PERSIST - 505)) | (1L << (PERSIST_ONLY - 505)) | (1L << (PHASE - 505)) | (1L << (PLUGIN - 505)) | (1L << (PLUGINS - 505)) | (1L << (PLUGIN_DIR - 505)) | (1L << (POINT - 505)) | (1L << (POLYGON - 505)) | (1L << (PORT - 505)) | (1L << (PRECEDES - 505)) | (1L << (PRECEDING - 505)) | (1L << (PREPARE - 505)) | (1L << (PRESERVE - 505)) | (1L << (PREV - 505)) | (1L << (PRIMARY - 505)) | (1L << (PRIVILEGES - 505)) | (1L << (PRIVILEGE_CHECKS_USER - 505)) | (1L << (PROCESS - 505)) | (1L << (PROCESSLIST - 505)) | (1L << (PROFILE - 505)) | (1L << (PROFILES - 505)) | (1L << (PROXY - 505)) | (1L << (QUARTER - 505)) | (1L << (QUERY - 505)) | (1L << (QUICK - 505)) | (1L << (RANDOM - 505)) | (1L << (READ_ONLY - 505)) | (1L << (REBUILD - 505)) | (1L << (RECOVER - 505)) | (1L << (REDO_BUFFER_SIZE - 505)) | (1L << (REDUNDANT - 505)) | (1L << (REFERENCE - 505)) | (1L << (RELAY - 505)) | (1L << (RELAYLOG - 505)) | (1L << (RELAY_LOG_FILE - 505)) | (1L << (RELAY_LOG_POS - 505)) | (1L << (RELAY_THREAD - 505)) | (1L << (RELOAD - 505)) | (1L << (REMOVE - 505)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (REORGANIZE - 570)) | (1L << (REPAIR - 570)) | (1L << (REPEATABLE - 570)) | (1L << (REPLICATE_DO_DB - 570)) | (1L << (REPLICATE_DO_TABLE - 570)) | (1L << (REPLICATE_IGNORE_DB - 570)) | (1L << (REPLICATE_IGNORE_TABLE - 570)) | (1L << (REPLICATE_REWRITE_DB - 570)) | (1L << (REPLICATE_WILD_DO_TABLE - 570)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 570)) | (1L << (REPLICATION - 570)) | (1L << (REQUIRE_ROW_FORMAT - 570)) | (1L << (RESET - 570)) | (1L << (RESOURCE - 570)) | (1L << (RESPECT - 570)) | (1L << (RESTART - 570)) | (1L << (RESTORE - 570)) | (1L << (RESUME - 570)) | (1L << (RETAIN - 570)) | (1L << (RETURNED_SQLSTATE - 570)) | (1L << (RETURNING - 570)) | (1L << (RETURNS - 570)) | (1L << (REUSE - 570)) | (1L << (REVERSE - 570)) | (1L << (ROLE - 570)) | (1L << (ROLLBACK - 570)) | (1L << (ROLLUP - 570)) | (1L << (ROTATE - 570)) | (1L << (ROUTINE - 570)) | (1L << (ROW_COUNT - 570)) | (1L << (ROW_FORMAT - 570)) | (1L << (RTREE - 570)) | (1L << (SAVEPOINT - 570)) | (1L << (SCHEDULE - 570)) | (1L << (SCHEMA_NAME - 570)) | (1L << (SECOND - 570)) | (1L << (SECONDARY - 570)) | (1L << (SECONDARY_ENGINE - 570)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 570)) | (1L << (SECONDARY_LOAD - 570)) | (1L << (SECONDARY_UNLOAD - 570)) | (1L << (SECURITY - 570)) | (1L << (SERIAL - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (SERIALIZABLE - 634)) | (1L << (SERVER - 634)) | (1L << (SESSION - 634)) | (1L << (SHARE - 634)) | (1L << (SHUTDOWN - 634)) | (1L << (SIGNED - 634)) | (1L << (SIMPLE - 634)) | (1L << (SLAVE - 634)) | (1L << (SLOW - 634)) | (1L << (SNAPSHOT - 634)) | (1L << (SOCKET - 634)) | (1L << (SONAME - 634)) | (1L << (SOUNDS - 634)) | (1L << (SOURCE - 634)) | (1L << (SQL_AFTER_GTIDS - 634)) | (1L << (SQL_AFTER_MTS_GAPS - 634)) | (1L << (SQL_BEFORE_GTIDS - 634)) | (1L << (SQL_BUFFER_RESULT - 634)) | (1L << (SQL_NO_CACHE - 634)) | (1L << (SQL_THREAD - 634)) | (1L << (SRID - 634)) | (1L << (STACKED - 634)) | (1L << (START - 634)) | (1L << (STARTS - 634)) | (1L << (STATS_AUTO_RECALC - 634)) | (1L << (STATS_PERSISTENT - 634)) | (1L << (STATS_SAMPLE_PAGES - 634)) | (1L << (STATUS - 634)) | (1L << (STOP - 634)) | (1L << (STORAGE - 634)) | (1L << (STREAM - 634)) | (1L << (STRING - 634)) | (1L << (SUBCLASS_ORIGIN - 634)) | (1L << (SUBJECT - 634)) | (1L << (SUBPARTITION - 634)) | (1L << (SUBPARTITIONS - 634)) | (1L << (SUPER - 634)) | (1L << (SUSPEND - 634)) | (1L << (SWAPS - 634)) | (1L << (SWITCHES - 634)) | (1L << (SYSTEM - 634)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (TABLE - 722)) | (1L << (TABLES - 722)) | (1L << (TABLESPACE - 722)) | (1L << (TABLE_CHECKSUM - 722)) | (1L << (TABLE_NAME - 722)) | (1L << (TEMPORARY - 722)) | (1L << (TEMPTABLE - 722)) | (1L << (TEXT - 722)) | (1L << (THAN - 722)) | (1L << (THREAD_PRIORITY - 722)) | (1L << (TIES - 722)) | (1L << (TIME - 722)) | (1L << (TIMESTAMP - 722)) | (1L << (TIMESTAMP_ADD - 722)) | (1L << (TIMESTAMP_DIFF - 722)) | (1L << (TLS - 722)) | (1L << (TRANSACTION - 722)) | (1L << (TRIGGERS - 722)) | (1L << (TRUNCATE - 722)) | (1L << (TYPE - 722)) | (1L << (TYPES - 722)) | (1L << (UNBOUNDED - 722)) | (1L << (UNCOMMITTED - 722)) | (1L << (UNDEFINED - 722)) | (1L << (UNDOFILE - 722)) | (1L << (UNDO_BUFFER_SIZE - 722)) | (1L << (UNICODE - 722)) | (1L << (UNINSTALL - 722)) | (1L << (UNKNOWN - 722)) | (1L << (UNTIL - 722)) | (1L << (UPGRADE - 722)) | (1L << (USER - 722)) | (1L << (USER_RESOURCES - 722)) | (1L << (USE_FRM - 722)) | (1L << (UTC_DATE - 722)) | (1L << (UTC_TIME - 722)) | (1L << (UTC_TIMESTAMP - 722)) | (1L << (VALIDATION - 722)) | (1L << (VALUE - 722)) | (1L << (VARIABLES - 722)))) != 0) || ((((_la - 787)) & ~0x3f) == 0 && ((1L << (_la - 787)) & ((1L << (VCPU - 787)) | (1L << (VIEW - 787)) | (1L << (VISIBLE - 787)) | (1L << (WAIT - 787)) | (1L << (WARNINGS - 787)) | (1L << (WEEK - 787)) | (1L << (WEIGHT_STRING - 787)) | (1L << (WITHOUT - 787)) | (1L << (WORK - 787)) | (1L << (WRAPPER - 787)) | (1L << (X509 - 787)) | (1L << (XA - 787)) | (1L << (XID - 787)) | (1L << (XML - 787)) | (1L << (YEAR - 787)) | (1L << (YEAR_MONTH - 787)) | (1L << (DOUBLE_QUOTED_TEXT - 787)) | (1L << (BQUOTA_STRING - 787)) | (1L << (UNDERSCORE_CHARSET - 787)))) != 0) || _la==IDENTIFIER_) {
1256 {
1257 setState(586);
1258 fields();
1259 }
1260 }
1261
1262 setState(589);
1263 match(RP_);
1264 }
1265 break;
1266 }
1267 setState(592);
1268 select();
1269 }
1270 }
1271 catch (RecognitionException re) {
1272 _localctx.exception = re;
1273 _errHandler.reportError(this, re);
1274 _errHandler.recover(this, re);
1275 }
1276 finally {
1277 exitRule();
1278 }
1279 return _localctx;
1280 }
1281
1282 public static class OnDuplicateKeyClauseContext extends ParserRuleContext {
1283 public TerminalNode ON() { return getToken(HiveStatementParser.ON, 0); }
1284 public TerminalNode DUPLICATE() { return getToken(HiveStatementParser.DUPLICATE, 0); }
1285 public TerminalNode KEY() { return getToken(HiveStatementParser.KEY, 0); }
1286 public TerminalNode UPDATE() { return getToken(HiveStatementParser.UPDATE, 0); }
1287 public List<AssignmentContext> assignment() {
1288 return getRuleContexts(AssignmentContext.class);
1289 }
1290 public AssignmentContext assignment(int i) {
1291 return getRuleContext(AssignmentContext.class,i);
1292 }
1293 public TerminalNode AS() { return getToken(HiveStatementParser.AS, 0); }
1294 public IdentifierContext identifier() {
1295 return getRuleContext(IdentifierContext.class,0);
1296 }
1297 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
1298 public TerminalNode COMMA_(int i) {
1299 return getToken(HiveStatementParser.COMMA_, i);
1300 }
1301 public OnDuplicateKeyClauseContext(ParserRuleContext parent, int invokingState) {
1302 super(parent, invokingState);
1303 }
1304 @Override public int getRuleIndex() { return RULE_onDuplicateKeyClause; }
1305 @Override
1306 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1307 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitOnDuplicateKeyClause(this);
1308 else return visitor.visitChildren(this);
1309 }
1310 }
1311
1312 public final OnDuplicateKeyClauseContext onDuplicateKeyClause() throws RecognitionException {
1313 OnDuplicateKeyClauseContext _localctx = new OnDuplicateKeyClauseContext(_ctx, getState());
1314 enterRule(_localctx, 16, RULE_onDuplicateKeyClause);
1315 int _la;
1316 try {
1317 enterOuterAlt(_localctx, 1);
1318 {
1319 setState(596);
1320 _errHandler.sync(this);
1321 _la = _input.LA(1);
1322 if (_la==AS) {
1323 {
1324 setState(594);
1325 match(AS);
1326 setState(595);
1327 identifier();
1328 }
1329 }
1330
1331 setState(598);
1332 match(ON);
1333 setState(599);
1334 match(DUPLICATE);
1335 setState(600);
1336 match(KEY);
1337 setState(601);
1338 match(UPDATE);
1339 setState(602);
1340 assignment();
1341 setState(607);
1342 _errHandler.sync(this);
1343 _la = _input.LA(1);
1344 while (_la==COMMA_) {
1345 {
1346 {
1347 setState(603);
1348 match(COMMA_);
1349 setState(604);
1350 assignment();
1351 }
1352 }
1353 setState(609);
1354 _errHandler.sync(this);
1355 _la = _input.LA(1);
1356 }
1357 }
1358 }
1359 catch (RecognitionException re) {
1360 _localctx.exception = re;
1361 _errHandler.reportError(this, re);
1362 _errHandler.recover(this, re);
1363 }
1364 finally {
1365 exitRule();
1366 }
1367 return _localctx;
1368 }
1369
1370 public static class ValueReferenceContext extends ParserRuleContext {
1371 public TerminalNode AS() { return getToken(HiveStatementParser.AS, 0); }
1372 public AliasContext alias() {
1373 return getRuleContext(AliasContext.class,0);
1374 }
1375 public DerivedColumnsContext derivedColumns() {
1376 return getRuleContext(DerivedColumnsContext.class,0);
1377 }
1378 public ValueReferenceContext(ParserRuleContext parent, int invokingState) {
1379 super(parent, invokingState);
1380 }
1381 @Override public int getRuleIndex() { return RULE_valueReference; }
1382 @Override
1383 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1384 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitValueReference(this);
1385 else return visitor.visitChildren(this);
1386 }
1387 }
1388
1389 public final ValueReferenceContext valueReference() throws RecognitionException {
1390 ValueReferenceContext _localctx = new ValueReferenceContext(_ctx, getState());
1391 enterRule(_localctx, 18, RULE_valueReference);
1392 try {
1393 enterOuterAlt(_localctx, 1);
1394 {
1395 setState(610);
1396 match(AS);
1397 setState(611);
1398 alias();
1399 setState(613);
1400 _errHandler.sync(this);
1401 switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) {
1402 case 1:
1403 {
1404 setState(612);
1405 derivedColumns();
1406 }
1407 break;
1408 }
1409 }
1410 }
1411 catch (RecognitionException re) {
1412 _localctx.exception = re;
1413 _errHandler.reportError(this, re);
1414 _errHandler.recover(this, re);
1415 }
1416 finally {
1417 exitRule();
1418 }
1419 return _localctx;
1420 }
1421
1422 public static class DerivedColumnsContext extends ParserRuleContext {
1423 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
1424 public List<AliasContext> alias() {
1425 return getRuleContexts(AliasContext.class);
1426 }
1427 public AliasContext alias(int i) {
1428 return getRuleContext(AliasContext.class,i);
1429 }
1430 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
1431 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
1432 public TerminalNode COMMA_(int i) {
1433 return getToken(HiveStatementParser.COMMA_, i);
1434 }
1435 public DerivedColumnsContext(ParserRuleContext parent, int invokingState) {
1436 super(parent, invokingState);
1437 }
1438 @Override public int getRuleIndex() { return RULE_derivedColumns; }
1439 @Override
1440 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1441 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDerivedColumns(this);
1442 else return visitor.visitChildren(this);
1443 }
1444 }
1445
1446 public final DerivedColumnsContext derivedColumns() throws RecognitionException {
1447 DerivedColumnsContext _localctx = new DerivedColumnsContext(_ctx, getState());
1448 enterRule(_localctx, 20, RULE_derivedColumns);
1449 int _la;
1450 try {
1451 enterOuterAlt(_localctx, 1);
1452 {
1453 setState(615);
1454 match(LP_);
1455 setState(616);
1456 alias();
1457 setState(621);
1458 _errHandler.sync(this);
1459 _la = _input.LA(1);
1460 while (_la==COMMA_) {
1461 {
1462 {
1463 setState(617);
1464 match(COMMA_);
1465 setState(618);
1466 alias();
1467 }
1468 }
1469 setState(623);
1470 _errHandler.sync(this);
1471 _la = _input.LA(1);
1472 }
1473 setState(624);
1474 match(RP_);
1475 }
1476 }
1477 catch (RecognitionException re) {
1478 _localctx.exception = re;
1479 _errHandler.reportError(this, re);
1480 _errHandler.recover(this, re);
1481 }
1482 finally {
1483 exitRule();
1484 }
1485 return _localctx;
1486 }
1487
1488 public static class UpdateContext extends ParserRuleContext {
1489 public TerminalNode UPDATE() { return getToken(HiveStatementParser.UPDATE, 0); }
1490 public UpdateSpecification_Context updateSpecification_() {
1491 return getRuleContext(UpdateSpecification_Context.class,0);
1492 }
1493 public TableReferencesContext tableReferences() {
1494 return getRuleContext(TableReferencesContext.class,0);
1495 }
1496 public SetAssignmentsClauseContext setAssignmentsClause() {
1497 return getRuleContext(SetAssignmentsClauseContext.class,0);
1498 }
1499 public WithClauseContext withClause() {
1500 return getRuleContext(WithClauseContext.class,0);
1501 }
1502 public WhereClauseContext whereClause() {
1503 return getRuleContext(WhereClauseContext.class,0);
1504 }
1505 public OrderByClauseContext orderByClause() {
1506 return getRuleContext(OrderByClauseContext.class,0);
1507 }
1508 public LimitClauseContext limitClause() {
1509 return getRuleContext(LimitClauseContext.class,0);
1510 }
1511 public UpdateContext(ParserRuleContext parent, int invokingState) {
1512 super(parent, invokingState);
1513 }
1514 @Override public int getRuleIndex() { return RULE_update; }
1515 @Override
1516 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1517 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitUpdate(this);
1518 else return visitor.visitChildren(this);
1519 }
1520 }
1521
1522 public final UpdateContext update() throws RecognitionException {
1523 UpdateContext _localctx = new UpdateContext(_ctx, getState());
1524 enterRule(_localctx, 22, RULE_update);
1525 int _la;
1526 try {
1527 enterOuterAlt(_localctx, 1);
1528 {
1529 setState(627);
1530 _errHandler.sync(this);
1531 _la = _input.LA(1);
1532 if (_la==WITH) {
1533 {
1534 setState(626);
1535 withClause();
1536 }
1537 }
1538
1539 setState(629);
1540 match(UPDATE);
1541 setState(630);
1542 updateSpecification_();
1543 setState(631);
1544 tableReferences();
1545 setState(632);
1546 setAssignmentsClause();
1547 setState(634);
1548 _errHandler.sync(this);
1549 _la = _input.LA(1);
1550 if (_la==WHERE) {
1551 {
1552 setState(633);
1553 whereClause();
1554 }
1555 }
1556
1557 setState(637);
1558 _errHandler.sync(this);
1559 _la = _input.LA(1);
1560 if (_la==ORDER) {
1561 {
1562 setState(636);
1563 orderByClause();
1564 }
1565 }
1566
1567 setState(640);
1568 _errHandler.sync(this);
1569 _la = _input.LA(1);
1570 if (_la==LIMIT) {
1571 {
1572 setState(639);
1573 limitClause();
1574 }
1575 }
1576
1577 }
1578 }
1579 catch (RecognitionException re) {
1580 _localctx.exception = re;
1581 _errHandler.reportError(this, re);
1582 _errHandler.recover(this, re);
1583 }
1584 finally {
1585 exitRule();
1586 }
1587 return _localctx;
1588 }
1589
1590 public static class UpdateSpecification_Context extends ParserRuleContext {
1591 public TerminalNode LOW_PRIORITY() { return getToken(HiveStatementParser.LOW_PRIORITY, 0); }
1592 public TerminalNode IGNORE() { return getToken(HiveStatementParser.IGNORE, 0); }
1593 public UpdateSpecification_Context(ParserRuleContext parent, int invokingState) {
1594 super(parent, invokingState);
1595 }
1596 @Override public int getRuleIndex() { return RULE_updateSpecification_; }
1597 @Override
1598 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1599 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitUpdateSpecification_(this);
1600 else return visitor.visitChildren(this);
1601 }
1602 }
1603
1604 public final UpdateSpecification_Context updateSpecification_() throws RecognitionException {
1605 UpdateSpecification_Context _localctx = new UpdateSpecification_Context(_ctx, getState());
1606 enterRule(_localctx, 24, RULE_updateSpecification_);
1607 int _la;
1608 try {
1609 enterOuterAlt(_localctx, 1);
1610 {
1611 setState(643);
1612 _errHandler.sync(this);
1613 _la = _input.LA(1);
1614 if (_la==LOW_PRIORITY) {
1615 {
1616 setState(642);
1617 match(LOW_PRIORITY);
1618 }
1619 }
1620
1621 setState(646);
1622 _errHandler.sync(this);
1623 _la = _input.LA(1);
1624 if (_la==IGNORE) {
1625 {
1626 setState(645);
1627 match(IGNORE);
1628 }
1629 }
1630
1631 }
1632 }
1633 catch (RecognitionException re) {
1634 _localctx.exception = re;
1635 _errHandler.reportError(this, re);
1636 _errHandler.recover(this, re);
1637 }
1638 finally {
1639 exitRule();
1640 }
1641 return _localctx;
1642 }
1643
1644 public static class AssignmentContext extends ParserRuleContext {
1645 public ColumnRefContext columnRef() {
1646 return getRuleContext(ColumnRefContext.class,0);
1647 }
1648 public TerminalNode EQ_() { return getToken(HiveStatementParser.EQ_, 0); }
1649 public AssignmentValueContext assignmentValue() {
1650 return getRuleContext(AssignmentValueContext.class,0);
1651 }
1652 public AssignmentContext(ParserRuleContext parent, int invokingState) {
1653 super(parent, invokingState);
1654 }
1655 @Override public int getRuleIndex() { return RULE_assignment; }
1656 @Override
1657 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1658 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitAssignment(this);
1659 else return visitor.visitChildren(this);
1660 }
1661 }
1662
1663 public final AssignmentContext assignment() throws RecognitionException {
1664 AssignmentContext _localctx = new AssignmentContext(_ctx, getState());
1665 enterRule(_localctx, 26, RULE_assignment);
1666 try {
1667 enterOuterAlt(_localctx, 1);
1668 {
1669 setState(648);
1670 columnRef();
1671 setState(649);
1672 match(EQ_);
1673 setState(650);
1674 assignmentValue();
1675 }
1676 }
1677 catch (RecognitionException re) {
1678 _localctx.exception = re;
1679 _errHandler.reportError(this, re);
1680 _errHandler.recover(this, re);
1681 }
1682 finally {
1683 exitRule();
1684 }
1685 return _localctx;
1686 }
1687
1688 public static class SetAssignmentsClauseContext extends ParserRuleContext {
1689 public TerminalNode SET() { return getToken(HiveStatementParser.SET, 0); }
1690 public List<AssignmentContext> assignment() {
1691 return getRuleContexts(AssignmentContext.class);
1692 }
1693 public AssignmentContext assignment(int i) {
1694 return getRuleContext(AssignmentContext.class,i);
1695 }
1696 public ValueReferenceContext valueReference() {
1697 return getRuleContext(ValueReferenceContext.class,0);
1698 }
1699 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
1700 public TerminalNode COMMA_(int i) {
1701 return getToken(HiveStatementParser.COMMA_, i);
1702 }
1703 public SetAssignmentsClauseContext(ParserRuleContext parent, int invokingState) {
1704 super(parent, invokingState);
1705 }
1706 @Override public int getRuleIndex() { return RULE_setAssignmentsClause; }
1707 @Override
1708 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1709 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSetAssignmentsClause(this);
1710 else return visitor.visitChildren(this);
1711 }
1712 }
1713
1714 public final SetAssignmentsClauseContext setAssignmentsClause() throws RecognitionException {
1715 SetAssignmentsClauseContext _localctx = new SetAssignmentsClauseContext(_ctx, getState());
1716 enterRule(_localctx, 28, RULE_setAssignmentsClause);
1717 int _la;
1718 try {
1719 enterOuterAlt(_localctx, 1);
1720 {
1721 setState(653);
1722 _errHandler.sync(this);
1723 _la = _input.LA(1);
1724 if (_la==AS) {
1725 {
1726 setState(652);
1727 valueReference();
1728 }
1729 }
1730
1731 setState(655);
1732 match(SET);
1733 setState(656);
1734 assignment();
1735 setState(661);
1736 _errHandler.sync(this);
1737 _la = _input.LA(1);
1738 while (_la==COMMA_) {
1739 {
1740 {
1741 setState(657);
1742 match(COMMA_);
1743 setState(658);
1744 assignment();
1745 }
1746 }
1747 setState(663);
1748 _errHandler.sync(this);
1749 _la = _input.LA(1);
1750 }
1751 }
1752 }
1753 catch (RecognitionException re) {
1754 _localctx.exception = re;
1755 _errHandler.reportError(this, re);
1756 _errHandler.recover(this, re);
1757 }
1758 finally {
1759 exitRule();
1760 }
1761 return _localctx;
1762 }
1763
1764 public static class AssignmentValuesContext extends ParserRuleContext {
1765 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
1766 public List<AssignmentValueContext> assignmentValue() {
1767 return getRuleContexts(AssignmentValueContext.class);
1768 }
1769 public AssignmentValueContext assignmentValue(int i) {
1770 return getRuleContext(AssignmentValueContext.class,i);
1771 }
1772 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
1773 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
1774 public TerminalNode COMMA_(int i) {
1775 return getToken(HiveStatementParser.COMMA_, i);
1776 }
1777 public AssignmentValuesContext(ParserRuleContext parent, int invokingState) {
1778 super(parent, invokingState);
1779 }
1780 @Override public int getRuleIndex() { return RULE_assignmentValues; }
1781 @Override
1782 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1783 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitAssignmentValues(this);
1784 else return visitor.visitChildren(this);
1785 }
1786 }
1787
1788 public final AssignmentValuesContext assignmentValues() throws RecognitionException {
1789 AssignmentValuesContext _localctx = new AssignmentValuesContext(_ctx, getState());
1790 enterRule(_localctx, 30, RULE_assignmentValues);
1791 int _la;
1792 try {
1793 setState(677);
1794 _errHandler.sync(this);
1795 switch ( getInterpreter().adaptivePredict(_input,34,_ctx) ) {
1796 case 1:
1797 enterOuterAlt(_localctx, 1);
1798 {
1799 setState(664);
1800 match(LP_);
1801 setState(665);
1802 assignmentValue();
1803 setState(670);
1804 _errHandler.sync(this);
1805 _la = _input.LA(1);
1806 while (_la==COMMA_) {
1807 {
1808 {
1809 setState(666);
1810 match(COMMA_);
1811 setState(667);
1812 assignmentValue();
1813 }
1814 }
1815 setState(672);
1816 _errHandler.sync(this);
1817 _la = _input.LA(1);
1818 }
1819 setState(673);
1820 match(RP_);
1821 }
1822 break;
1823 case 2:
1824 enterOuterAlt(_localctx, 2);
1825 {
1826 setState(675);
1827 match(LP_);
1828 setState(676);
1829 match(RP_);
1830 }
1831 break;
1832 }
1833 }
1834 catch (RecognitionException re) {
1835 _localctx.exception = re;
1836 _errHandler.reportError(this, re);
1837 _errHandler.recover(this, re);
1838 }
1839 finally {
1840 exitRule();
1841 }
1842 return _localctx;
1843 }
1844
1845 public static class AssignmentValueContext extends ParserRuleContext {
1846 public BlobValueContext blobValue() {
1847 return getRuleContext(BlobValueContext.class,0);
1848 }
1849 public ExprContext expr() {
1850 return getRuleContext(ExprContext.class,0);
1851 }
1852 public TerminalNode DEFAULT() { return getToken(HiveStatementParser.DEFAULT, 0); }
1853 public AssignmentValueContext(ParserRuleContext parent, int invokingState) {
1854 super(parent, invokingState);
1855 }
1856 @Override public int getRuleIndex() { return RULE_assignmentValue; }
1857 @Override
1858 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1859 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitAssignmentValue(this);
1860 else return visitor.visitChildren(this);
1861 }
1862 }
1863
1864 public final AssignmentValueContext assignmentValue() throws RecognitionException {
1865 AssignmentValueContext _localctx = new AssignmentValueContext(_ctx, getState());
1866 enterRule(_localctx, 32, RULE_assignmentValue);
1867 try {
1868 setState(682);
1869 _errHandler.sync(this);
1870 switch ( getInterpreter().adaptivePredict(_input,35,_ctx) ) {
1871 case 1:
1872 enterOuterAlt(_localctx, 1);
1873 {
1874 setState(679);
1875 blobValue();
1876 }
1877 break;
1878 case 2:
1879 enterOuterAlt(_localctx, 2);
1880 {
1881 setState(680);
1882 expr(0);
1883 }
1884 break;
1885 case 3:
1886 enterOuterAlt(_localctx, 3);
1887 {
1888 setState(681);
1889 match(DEFAULT);
1890 }
1891 break;
1892 }
1893 }
1894 catch (RecognitionException re) {
1895 _localctx.exception = re;
1896 _errHandler.reportError(this, re);
1897 _errHandler.recover(this, re);
1898 }
1899 finally {
1900 exitRule();
1901 }
1902 return _localctx;
1903 }
1904
1905 public static class BlobValueContext extends ParserRuleContext {
1906 public TerminalNode UL_BINARY() { return getToken(HiveStatementParser.UL_BINARY, 0); }
1907 public String_Context string_() {
1908 return getRuleContext(String_Context.class,0);
1909 }
1910 public BlobValueContext(ParserRuleContext parent, int invokingState) {
1911 super(parent, invokingState);
1912 }
1913 @Override public int getRuleIndex() { return RULE_blobValue; }
1914 @Override
1915 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1916 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitBlobValue(this);
1917 else return visitor.visitChildren(this);
1918 }
1919 }
1920
1921 public final BlobValueContext blobValue() throws RecognitionException {
1922 BlobValueContext _localctx = new BlobValueContext(_ctx, getState());
1923 enterRule(_localctx, 34, RULE_blobValue);
1924 try {
1925 enterOuterAlt(_localctx, 1);
1926 {
1927 setState(684);
1928 match(UL_BINARY);
1929 setState(685);
1930 string_();
1931 }
1932 }
1933 catch (RecognitionException re) {
1934 _localctx.exception = re;
1935 _errHandler.reportError(this, re);
1936 _errHandler.recover(this, re);
1937 }
1938 finally {
1939 exitRule();
1940 }
1941 return _localctx;
1942 }
1943
1944 public static class DeleteContext extends ParserRuleContext {
1945 public TerminalNode DELETE() { return getToken(HiveStatementParser.DELETE, 0); }
1946 public DeleteSpecificationContext deleteSpecification() {
1947 return getRuleContext(DeleteSpecificationContext.class,0);
1948 }
1949 public SingleTableClauseContext singleTableClause() {
1950 return getRuleContext(SingleTableClauseContext.class,0);
1951 }
1952 public MultipleTablesClauseContext multipleTablesClause() {
1953 return getRuleContext(MultipleTablesClauseContext.class,0);
1954 }
1955 public WhereClauseContext whereClause() {
1956 return getRuleContext(WhereClauseContext.class,0);
1957 }
1958 public OrderByClauseContext orderByClause() {
1959 return getRuleContext(OrderByClauseContext.class,0);
1960 }
1961 public LimitClauseContext limitClause() {
1962 return getRuleContext(LimitClauseContext.class,0);
1963 }
1964 public DeleteContext(ParserRuleContext parent, int invokingState) {
1965 super(parent, invokingState);
1966 }
1967 @Override public int getRuleIndex() { return RULE_delete; }
1968 @Override
1969 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1970 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDelete(this);
1971 else return visitor.visitChildren(this);
1972 }
1973 }
1974
1975 public final DeleteContext delete() throws RecognitionException {
1976 DeleteContext _localctx = new DeleteContext(_ctx, getState());
1977 enterRule(_localctx, 36, RULE_delete);
1978 int _la;
1979 try {
1980 enterOuterAlt(_localctx, 1);
1981 {
1982 setState(687);
1983 match(DELETE);
1984 setState(688);
1985 deleteSpecification();
1986 setState(691);
1987 _errHandler.sync(this);
1988 switch ( getInterpreter().adaptivePredict(_input,36,_ctx) ) {
1989 case 1:
1990 {
1991 setState(689);
1992 singleTableClause();
1993 }
1994 break;
1995 case 2:
1996 {
1997 setState(690);
1998 multipleTablesClause();
1999 }
2000 break;
2001 }
2002 setState(694);
2003 _errHandler.sync(this);
2004 _la = _input.LA(1);
2005 if (_la==WHERE) {
2006 {
2007 setState(693);
2008 whereClause();
2009 }
2010 }
2011
2012 setState(697);
2013 _errHandler.sync(this);
2014 _la = _input.LA(1);
2015 if (_la==ORDER) {
2016 {
2017 setState(696);
2018 orderByClause();
2019 }
2020 }
2021
2022 setState(700);
2023 _errHandler.sync(this);
2024 _la = _input.LA(1);
2025 if (_la==LIMIT) {
2026 {
2027 setState(699);
2028 limitClause();
2029 }
2030 }
2031
2032 }
2033 }
2034 catch (RecognitionException re) {
2035 _localctx.exception = re;
2036 _errHandler.reportError(this, re);
2037 _errHandler.recover(this, re);
2038 }
2039 finally {
2040 exitRule();
2041 }
2042 return _localctx;
2043 }
2044
2045 public static class DeleteSpecificationContext extends ParserRuleContext {
2046 public TerminalNode LOW_PRIORITY() { return getToken(HiveStatementParser.LOW_PRIORITY, 0); }
2047 public TerminalNode QUICK() { return getToken(HiveStatementParser.QUICK, 0); }
2048 public TerminalNode IGNORE() { return getToken(HiveStatementParser.IGNORE, 0); }
2049 public DeleteSpecificationContext(ParserRuleContext parent, int invokingState) {
2050 super(parent, invokingState);
2051 }
2052 @Override public int getRuleIndex() { return RULE_deleteSpecification; }
2053 @Override
2054 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2055 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDeleteSpecification(this);
2056 else return visitor.visitChildren(this);
2057 }
2058 }
2059
2060 public final DeleteSpecificationContext deleteSpecification() throws RecognitionException {
2061 DeleteSpecificationContext _localctx = new DeleteSpecificationContext(_ctx, getState());
2062 enterRule(_localctx, 38, RULE_deleteSpecification);
2063 int _la;
2064 try {
2065 enterOuterAlt(_localctx, 1);
2066 {
2067 setState(703);
2068 _errHandler.sync(this);
2069 _la = _input.LA(1);
2070 if (_la==LOW_PRIORITY) {
2071 {
2072 setState(702);
2073 match(LOW_PRIORITY);
2074 }
2075 }
2076
2077 setState(706);
2078 _errHandler.sync(this);
2079 switch ( getInterpreter().adaptivePredict(_input,41,_ctx) ) {
2080 case 1:
2081 {
2082 setState(705);
2083 match(QUICK);
2084 }
2085 break;
2086 }
2087 setState(709);
2088 _errHandler.sync(this);
2089 _la = _input.LA(1);
2090 if (_la==IGNORE) {
2091 {
2092 setState(708);
2093 match(IGNORE);
2094 }
2095 }
2096
2097 }
2098 }
2099 catch (RecognitionException re) {
2100 _localctx.exception = re;
2101 _errHandler.reportError(this, re);
2102 _errHandler.recover(this, re);
2103 }
2104 finally {
2105 exitRule();
2106 }
2107 return _localctx;
2108 }
2109
2110 public static class SingleTableClauseContext extends ParserRuleContext {
2111 public TerminalNode FROM() { return getToken(HiveStatementParser.FROM, 0); }
2112 public TableNameContext tableName() {
2113 return getRuleContext(TableNameContext.class,0);
2114 }
2115 public AliasContext alias() {
2116 return getRuleContext(AliasContext.class,0);
2117 }
2118 public PartitionNamesContext partitionNames() {
2119 return getRuleContext(PartitionNamesContext.class,0);
2120 }
2121 public TerminalNode AS() { return getToken(HiveStatementParser.AS, 0); }
2122 public SingleTableClauseContext(ParserRuleContext parent, int invokingState) {
2123 super(parent, invokingState);
2124 }
2125 @Override public int getRuleIndex() { return RULE_singleTableClause; }
2126 @Override
2127 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2128 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSingleTableClause(this);
2129 else return visitor.visitChildren(this);
2130 }
2131 }
2132
2133 public final SingleTableClauseContext singleTableClause() throws RecognitionException {
2134 SingleTableClauseContext _localctx = new SingleTableClauseContext(_ctx, getState());
2135 enterRule(_localctx, 40, RULE_singleTableClause);
2136 int _la;
2137 try {
2138 enterOuterAlt(_localctx, 1);
2139 {
2140 setState(711);
2141 match(FROM);
2142 setState(712);
2143 tableName();
2144 setState(717);
2145 _errHandler.sync(this);
2146 _la = _input.LA(1);
2147 if (((((_la - 47)) & ~0x3f) == 0 && ((1L << (_la - 47)) & ((1L << (MAX - 47)) | (1L << (MIN - 47)) | (1L << (SUM - 47)) | (1L << (COUNT - 47)) | (1L << (GROUP_CONCAT - 47)) | (1L << (CAST - 47)) | (1L << (POSITION - 47)) | (1L << (SUBSTRING - 47)) | (1L << (SUBSTR - 47)) | (1L << (EXTRACT - 47)) | (1L << (TRIM - 47)) | (1L << (LAST_DAY - 47)) | (1L << (TRADITIONAL - 47)) | (1L << (TREE - 47)) | (1L << (MYSQL_MAIN - 47)) | (1L << (MYSQL_ADMIN - 47)) | (1L << (INSTANT - 47)) | (1L << (INPLACE - 47)) | (1L << (COPY - 47)) | (1L << (UL_BINARY - 47)) | (1L << (AUTOCOMMIT - 47)) | (1L << (INNODB - 47)) | (1L << (REDO_LOG - 47)) | (1L << (ACCOUNT - 47)) | (1L << (ACTION - 47)) | (1L << (ACTIVE - 47)) | (1L << (ADMIN - 47)) | (1L << (AFTER - 47)) | (1L << (AGAINST - 47)) | (1L << (AGGREGATE - 47)) | (1L << (ALGORITHM - 47)) | (1L << (ALWAYS - 47)) | (1L << (ANY - 47)) | (1L << (ARRAY - 47)) | (1L << (AS - 47)) | (1L << (ASCII - 47)) | (1L << (AT - 47)) | (1L << (ATTRIBUTE - 47)) | (1L << (AUTOEXTEND_SIZE - 47)) | (1L << (AUTO_INCREMENT - 47)) | (1L << (AVG - 47)) | (1L << (BIT_XOR - 47)) | (1L << (AVG_ROW_LENGTH - 47)) | (1L << (BACKUP - 47)) | (1L << (BEGIN - 47)) | (1L << (BINLOG - 47)) | (1L << (BIT - 47)) | (1L << (BLOCK - 47)))) != 0) || ((((_la - 111)) & ~0x3f) == 0 && ((1L << (_la - 111)) & ((1L << (BOOL - 111)) | (1L << (BOOLEAN - 111)) | (1L << (BTREE - 111)) | (1L << (BUCKETS - 111)) | (1L << (BYTE - 111)) | (1L << (CACHE - 111)) | (1L << (CASCADED - 111)) | (1L << (CATALOG_NAME - 111)) | (1L << (CHAIN - 111)) | (1L << (CHANGED - 111)) | (1L << (CHANNEL - 111)) | (1L << (CHARSET - 111)) | (1L << (CHECKSUM - 111)) | (1L << (CIPHER - 111)) | (1L << (CLASS_ORIGIN - 111)) | (1L << (CLIENT - 111)) | (1L << (CLONE - 111)) | (1L << (CLOSE - 111)) | (1L << (COALESCE - 111)) | (1L << (CODE - 111)) | (1L << (COLLATION - 111)) | (1L << (COLUMNS - 111)) | (1L << (COLUMN_FORMAT - 111)) | (1L << (COLUMN_NAME - 111)) | (1L << (COMMENT - 111)) | (1L << (COMMIT - 111)) | (1L << (COMMITTED - 111)) | (1L << (COMPACT - 111)) | (1L << (COMPLETION - 111)) | (1L << (COMPONENT - 111)) | (1L << (COMPRESSED - 111)) | (1L << (COMPRESSION - 111)) | (1L << (CONCURRENT - 111)) | (1L << (CONNECTION - 111)) | (1L << (CONSISTENT - 111)) | (1L << (CONSTRAINT_CATALOG - 111)) | (1L << (CONSTRAINT_NAME - 111)) | (1L << (CONSTRAINT_SCHEMA - 111)) | (1L << (CONTAINS - 111)) | (1L << (CONTEXT - 111)) | (1L << (CPU - 111)) | (1L << (CREATE - 111)) | (1L << (CURRENT - 111)))) != 0) || ((((_la - 179)) & ~0x3f) == 0 && ((1L << (_la - 179)) & ((1L << (CURSOR_NAME - 179)) | (1L << (DATA - 179)) | (1L << (DATAFILE - 179)) | (1L << (DATE - 179)) | (1L << (DATETIME - 179)) | (1L << (DAY - 179)) | (1L << (DAY_MINUTE - 179)) | (1L << (DEALLOCATE - 179)) | (1L << (DEFAULT_AUTH - 179)) | (1L << (DEFINER - 179)) | (1L << (DEFINITION - 179)) | (1L << (DELAY_KEY_WRITE - 179)) | (1L << (DESCRIPTION - 179)) | (1L << (DIAGNOSTICS - 179)) | (1L << (DIRECTORY - 179)) | (1L << (DISABLE - 179)) | (1L << (DISCARD - 179)) | (1L << (DISK - 179)) | (1L << (DO - 179)) | (1L << (DUMPFILE - 179)) | (1L << (DUPLICATE - 179)) | (1L << (DYNAMIC - 179)) | (1L << (ENABLE - 179)) | (1L << (ENCRYPTION - 179)) | (1L << (END - 179)) | (1L << (ENDS - 179)) | (1L << (ENFORCED - 179)) | (1L << (ENGINE - 179)) | (1L << (ENGINES - 179)) | (1L << (ENGINE_ATTRIBUTE - 179)) | (1L << (ENUM - 179)) | (1L << (ERROR - 179)) | (1L << (ERRORS - 179)) | (1L << (ESCAPE - 179)) | (1L << (EVENT - 179)) | (1L << (EVENTS - 179)) | (1L << (EVERY - 179)))) != 0) || ((((_la - 244)) & ~0x3f) == 0 && ((1L << (_la - 244)) & ((1L << (EXCHANGE - 244)) | (1L << (EXCLUDE - 244)) | (1L << (EXECUTE - 244)) | (1L << (EXPANSION - 244)) | (1L << (EXPIRE - 244)) | (1L << (EXPORT - 244)) | (1L << (EXTENDED - 244)) | (1L << (EXTENT_SIZE - 244)) | (1L << (FAILED_LOGIN_ATTEMPTS - 244)) | (1L << (FAST - 244)) | (1L << (FAULTS - 244)) | (1L << (FILE - 244)) | (1L << (FILE_BLOCK_SIZE - 244)) | (1L << (FILTER - 244)) | (1L << (FIRST - 244)) | (1L << (FIXED - 244)) | (1L << (FLUSH - 244)) | (1L << (FOLLOWING - 244)) | (1L << (FOLLOWS - 244)) | (1L << (FORMAT - 244)) | (1L << (FOUND - 244)) | (1L << (FULL - 244)) | (1L << (GENERAL - 244)) | (1L << (GEOMETRY - 244)) | (1L << (GEOMETRYCOLLECTION - 244)) | (1L << (GET_FORMAT - 244)) | (1L << (GET_MASTER_PUBLIC_KEY - 244)) | (1L << (GLOBAL - 244)) | (1L << (GRANTS - 244)) | (1L << (GROUP_REPLICATION - 244)) | (1L << (HANDLER - 244)) | (1L << (HASH - 244)) | (1L << (HELP - 244)) | (1L << (HISTOGRAM - 244)) | (1L << (HISTORY - 244)) | (1L << (HOST - 244)) | (1L << (HOSTS - 244)))) != 0) || ((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & ((1L << (HOUR - 308)) | (1L << (IDENTIFIED - 308)) | (1L << (IGNORE_SERVER_IDS - 308)) | (1L << (IMPORT - 308)) | (1L << (INACTIVE - 308)) | (1L << (INDEXES - 308)) | (1L << (INITIAL_SIZE - 308)) | (1L << (INSERT_METHOD - 308)) | (1L << (INSTALL - 308)) | (1L << (INSTANCE - 308)) | (1L << (INVISIBLE - 308)) | (1L << (INVOKER - 308)) | (1L << (IO - 308)) | (1L << (IPC - 308)) | (1L << (ISOLATION - 308)) | (1L << (ISSUER - 308)) | (1L << (JSON - 308)) | (1L << (JSON_VALUE - 308)) | (1L << (KEY - 308)) | (1L << (KEY_BLOCK_SIZE - 308)) | (1L << (LANGUAGE - 308)) | (1L << (LAST - 308)) | (1L << (LAST_VALUE - 308)) | (1L << (LEAVES - 308)) | (1L << (LESS - 308)) | (1L << (LEVEL - 308)))) != 0) || ((((_la - 373)) & ~0x3f) == 0 && ((1L << (_la - 373)) & ((1L << (LINESTRING - 373)) | (1L << (LIST - 373)) | (1L << (LOCAL - 373)) | (1L << (LOCKED - 373)) | (1L << (LOCKS - 373)) | (1L << (LOGFILE - 373)) | (1L << (LOGS - 373)) | (1L << (MASTER - 373)) | (1L << (MASTER_AUTO_POSITION - 373)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 373)) | (1L << (MASTER_CONNECT_RETRY - 373)) | (1L << (MASTER_DELAY - 373)) | (1L << (MASTER_HEARTBEAT_PERIOD - 373)) | (1L << (MASTER_HOST - 373)) | (1L << (MASTER_LOG_FILE - 373)) | (1L << (MASTER_LOG_POS - 373)) | (1L << (MASTER_PASSWORD - 373)) | (1L << (MASTER_PORT - 373)) | (1L << (MASTER_PUBLIC_KEY_PATH - 373)) | (1L << (MASTER_RETRY_COUNT - 373)) | (1L << (MASTER_SERVER_ID - 373)) | (1L << (MASTER_SSL - 373)) | (1L << (MASTER_SSL_CA - 373)) | (1L << (MASTER_SSL_CAPATH - 373)) | (1L << (MASTER_SSL_CERT - 373)) | (1L << (MASTER_SSL_CIPHER - 373)) | (1L << (MASTER_SSL_CRL - 373)) | (1L << (MASTER_SSL_CRLPATH - 373)) | (1L << (MASTER_SSL_KEY - 373)) | (1L << (MASTER_TLS_CIPHERSUITES - 373)) | (1L << (MASTER_TLS_VERSION - 373)) | (1L << (MASTER_USER - 373)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 373)) | (1L << (MAXVALUE - 373)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 373)) | (1L << (MAX_QUERIES_PER_HOUR - 373)) | (1L << (MAX_ROWS - 373)) | (1L << (MAX_SIZE - 373)) | (1L << (MAX_UPDATES_PER_HOUR - 373)) | (1L << (MAX_USER_CONNECTIONS - 373)) | (1L << (MEDIUM - 373)) | (1L << (MEMBER - 373)) | (1L << (MEMORY - 373)) | (1L << (MERGE - 373)) | (1L << (MESSAGE_TEXT - 373)) | (1L << (MICROSECOND - 373)))) != 0) || ((((_la - 437)) & ~0x3f) == 0 && ((1L << (_la - 437)) & ((1L << (MIGRATE - 437)) | (1L << (MINUTE - 437)) | (1L << (MIN_ROWS - 437)) | (1L << (MODE - 437)) | (1L << (MODIFY - 437)) | (1L << (MONTH - 437)) | (1L << (MULTILINESTRING - 437)) | (1L << (MULTIPOINT - 437)) | (1L << (MULTIPOLYGON - 437)) | (1L << (MUTEX - 437)) | (1L << (MYSQL_ERRNO - 437)) | (1L << (NAME - 437)) | (1L << (NAMES - 437)) | (1L << (NATIONAL - 437)) | (1L << (NCHAR - 437)) | (1L << (NDBCLUSTER - 437)) | (1L << (NESTED - 437)) | (1L << (NETWORK_NAMESPACE - 437)) | (1L << (NEVER - 437)) | (1L << (NEW - 437)) | (1L << (NEXT - 437)) | (1L << (NO - 437)) | (1L << (NODEGROUP - 437)) | (1L << (NONE - 437)) | (1L << (NOWAIT - 437)) | (1L << (NO_WAIT - 437)) | (1L << (NULLS - 437)) | (1L << (NUMBER - 437)) | (1L << (NVARCHAR - 437)) | (1L << (OFF - 437)) | (1L << (OFFSET - 437)) | (1L << (OJ - 437)) | (1L << (OLD - 437)) | (1L << (ONE - 437)) | (1L << (ONLY - 437)) | (1L << (OPEN - 437)) | (1L << (OPTIONAL - 437)) | (1L << (OPTIONS - 437)) | (1L << (ORDINALITY - 437)) | (1L << (ORGANIZATION - 437)) | (1L << (OTHERS - 437)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (OWNER - 505)) | (1L << (PACK_KEYS - 505)) | (1L << (PAGE - 505)) | (1L << (PARSER - 505)) | (1L << (PARTIAL - 505)) | (1L << (PARTITIONING - 505)) | (1L << (PARTITIONS - 505)) | (1L << (PASSWORD - 505)) | (1L << (PASSWORD_LOCK_TIME - 505)) | (1L << (PATH - 505)) | (1L << (PERSIST - 505)) | (1L << (PERSIST_ONLY - 505)) | (1L << (PHASE - 505)) | (1L << (PLUGIN - 505)) | (1L << (PLUGINS - 505)) | (1L << (PLUGIN_DIR - 505)) | (1L << (POINT - 505)) | (1L << (POLYGON - 505)) | (1L << (PORT - 505)) | (1L << (PRECEDES - 505)) | (1L << (PRECEDING - 505)) | (1L << (PREPARE - 505)) | (1L << (PRESERVE - 505)) | (1L << (PREV - 505)) | (1L << (PRIMARY - 505)) | (1L << (PRIVILEGES - 505)) | (1L << (PRIVILEGE_CHECKS_USER - 505)) | (1L << (PROCESS - 505)) | (1L << (PROCESSLIST - 505)) | (1L << (PROFILE - 505)) | (1L << (PROFILES - 505)) | (1L << (PROXY - 505)) | (1L << (QUARTER - 505)) | (1L << (QUERY - 505)) | (1L << (QUICK - 505)) | (1L << (RANDOM - 505)) | (1L << (READ_ONLY - 505)) | (1L << (REBUILD - 505)) | (1L << (RECOVER - 505)) | (1L << (REDO_BUFFER_SIZE - 505)) | (1L << (REDUNDANT - 505)) | (1L << (REFERENCE - 505)) | (1L << (RELAY - 505)) | (1L << (RELAYLOG - 505)) | (1L << (RELAY_LOG_FILE - 505)) | (1L << (RELAY_LOG_POS - 505)) | (1L << (RELAY_THREAD - 505)) | (1L << (RELOAD - 505)) | (1L << (REMOVE - 505)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (REORGANIZE - 570)) | (1L << (REPAIR - 570)) | (1L << (REPEATABLE - 570)) | (1L << (REPLICATE_DO_DB - 570)) | (1L << (REPLICATE_DO_TABLE - 570)) | (1L << (REPLICATE_IGNORE_DB - 570)) | (1L << (REPLICATE_IGNORE_TABLE - 570)) | (1L << (REPLICATE_REWRITE_DB - 570)) | (1L << (REPLICATE_WILD_DO_TABLE - 570)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 570)) | (1L << (REPLICATION - 570)) | (1L << (REQUIRE_ROW_FORMAT - 570)) | (1L << (RESET - 570)) | (1L << (RESOURCE - 570)) | (1L << (RESPECT - 570)) | (1L << (RESTART - 570)) | (1L << (RESTORE - 570)) | (1L << (RESUME - 570)) | (1L << (RETAIN - 570)) | (1L << (RETURNED_SQLSTATE - 570)) | (1L << (RETURNING - 570)) | (1L << (RETURNS - 570)) | (1L << (REUSE - 570)) | (1L << (REVERSE - 570)) | (1L << (ROLE - 570)) | (1L << (ROLLBACK - 570)) | (1L << (ROLLUP - 570)) | (1L << (ROTATE - 570)) | (1L << (ROUTINE - 570)) | (1L << (ROW_COUNT - 570)) | (1L << (ROW_FORMAT - 570)) | (1L << (RTREE - 570)) | (1L << (SAVEPOINT - 570)) | (1L << (SCHEDULE - 570)) | (1L << (SCHEMA_NAME - 570)) | (1L << (SECOND - 570)) | (1L << (SECONDARY - 570)) | (1L << (SECONDARY_ENGINE - 570)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 570)) | (1L << (SECONDARY_LOAD - 570)) | (1L << (SECONDARY_UNLOAD - 570)) | (1L << (SECURITY - 570)) | (1L << (SERIAL - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (SERIALIZABLE - 634)) | (1L << (SERVER - 634)) | (1L << (SESSION - 634)) | (1L << (SHARE - 634)) | (1L << (SHUTDOWN - 634)) | (1L << (SIGNED - 634)) | (1L << (SIMPLE - 634)) | (1L << (SLAVE - 634)) | (1L << (SLOW - 634)) | (1L << (SNAPSHOT - 634)) | (1L << (SOCKET - 634)) | (1L << (SONAME - 634)) | (1L << (SOUNDS - 634)) | (1L << (SOURCE - 634)) | (1L << (SQL_AFTER_GTIDS - 634)) | (1L << (SQL_AFTER_MTS_GAPS - 634)) | (1L << (SQL_BEFORE_GTIDS - 634)) | (1L << (SQL_BUFFER_RESULT - 634)) | (1L << (SQL_NO_CACHE - 634)) | (1L << (SQL_THREAD - 634)) | (1L << (SRID - 634)) | (1L << (STACKED - 634)) | (1L << (START - 634)) | (1L << (STARTS - 634)) | (1L << (STATS_AUTO_RECALC - 634)) | (1L << (STATS_PERSISTENT - 634)) | (1L << (STATS_SAMPLE_PAGES - 634)) | (1L << (STATUS - 634)) | (1L << (STOP - 634)) | (1L << (STORAGE - 634)) | (1L << (STREAM - 634)) | (1L << (STRING - 634)) | (1L << (SUBCLASS_ORIGIN - 634)) | (1L << (SUBJECT - 634)) | (1L << (SUBPARTITION - 634)) | (1L << (SUBPARTITIONS - 634)) | (1L << (SUPER - 634)) | (1L << (SUSPEND - 634)) | (1L << (SWAPS - 634)) | (1L << (SWITCHES - 634)) | (1L << (SYSTEM - 634)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (TABLE - 722)) | (1L << (TABLES - 722)) | (1L << (TABLESPACE - 722)) | (1L << (TABLE_CHECKSUM - 722)) | (1L << (TABLE_NAME - 722)) | (1L << (TEMPORARY - 722)) | (1L << (TEMPTABLE - 722)) | (1L << (TEXT - 722)) | (1L << (THAN - 722)) | (1L << (THREAD_PRIORITY - 722)) | (1L << (TIES - 722)) | (1L << (TIME - 722)) | (1L << (TIMESTAMP - 722)) | (1L << (TIMESTAMP_ADD - 722)) | (1L << (TIMESTAMP_DIFF - 722)) | (1L << (TLS - 722)) | (1L << (TRANSACTION - 722)) | (1L << (TRIGGERS - 722)) | (1L << (TRUNCATE - 722)) | (1L << (TYPE - 722)) | (1L << (TYPES - 722)) | (1L << (UNBOUNDED - 722)) | (1L << (UNCOMMITTED - 722)) | (1L << (UNDEFINED - 722)) | (1L << (UNDOFILE - 722)) | (1L << (UNDO_BUFFER_SIZE - 722)) | (1L << (UNICODE - 722)) | (1L << (UNINSTALL - 722)) | (1L << (UNKNOWN - 722)) | (1L << (UNTIL - 722)) | (1L << (UPGRADE - 722)) | (1L << (USER - 722)) | (1L << (USER_RESOURCES - 722)) | (1L << (USE_FRM - 722)) | (1L << (UTC_DATE - 722)) | (1L << (UTC_TIME - 722)) | (1L << (UTC_TIMESTAMP - 722)) | (1L << (VALIDATION - 722)) | (1L << (VALUE - 722)) | (1L << (VARIABLES - 722)))) != 0) || ((((_la - 787)) & ~0x3f) == 0 && ((1L << (_la - 787)) & ((1L << (VCPU - 787)) | (1L << (VIEW - 787)) | (1L << (VISIBLE - 787)) | (1L << (WAIT - 787)) | (1L << (WARNINGS - 787)) | (1L << (WEEK - 787)) | (1L << (WEIGHT_STRING - 787)) | (1L << (WITHOUT - 787)) | (1L << (WORK - 787)) | (1L << (WRAPPER - 787)) | (1L << (X509 - 787)) | (1L << (XA - 787)) | (1L << (XID - 787)) | (1L << (XML - 787)) | (1L << (YEAR - 787)) | (1L << (YEAR_MONTH - 787)) | (1L << (SINGLE_QUOTED_TEXT - 787)) | (1L << (DOUBLE_QUOTED_TEXT - 787)) | (1L << (BQUOTA_STRING - 787)) | (1L << (UNDERSCORE_CHARSET - 787)))) != 0) || _la==IDENTIFIER_ || _la==IP_ADDRESS) {
2148 {
2149 setState(714);
2150 _errHandler.sync(this);
2151 _la = _input.LA(1);
2152 if (_la==AS) {
2153 {
2154 setState(713);
2155 match(AS);
2156 }
2157 }
2158
2159 setState(716);
2160 alias();
2161 }
2162 }
2163
2164 setState(720);
2165 _errHandler.sync(this);
2166 _la = _input.LA(1);
2167 if (_la==PARTITION) {
2168 {
2169 setState(719);
2170 partitionNames();
2171 }
2172 }
2173
2174 }
2175 }
2176 catch (RecognitionException re) {
2177 _localctx.exception = re;
2178 _errHandler.reportError(this, re);
2179 _errHandler.recover(this, re);
2180 }
2181 finally {
2182 exitRule();
2183 }
2184 return _localctx;
2185 }
2186
2187 public static class MultipleTablesClauseContext extends ParserRuleContext {
2188 public TableAliasRefListContext tableAliasRefList() {
2189 return getRuleContext(TableAliasRefListContext.class,0);
2190 }
2191 public TerminalNode FROM() { return getToken(HiveStatementParser.FROM, 0); }
2192 public TableReferencesContext tableReferences() {
2193 return getRuleContext(TableReferencesContext.class,0);
2194 }
2195 public TerminalNode USING() { return getToken(HiveStatementParser.USING, 0); }
2196 public MultipleTablesClauseContext(ParserRuleContext parent, int invokingState) {
2197 super(parent, invokingState);
2198 }
2199 @Override public int getRuleIndex() { return RULE_multipleTablesClause; }
2200 @Override
2201 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2202 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitMultipleTablesClause(this);
2203 else return visitor.visitChildren(this);
2204 }
2205 }
2206
2207 public final MultipleTablesClauseContext multipleTablesClause() throws RecognitionException {
2208 MultipleTablesClauseContext _localctx = new MultipleTablesClauseContext(_ctx, getState());
2209 enterRule(_localctx, 42, RULE_multipleTablesClause);
2210 try {
2211 setState(731);
2212 _errHandler.sync(this);
2213 switch (_input.LA(1)) {
2214 case MAX:
2215 case MIN:
2216 case SUM:
2217 case COUNT:
2218 case GROUP_CONCAT:
2219 case CAST:
2220 case POSITION:
2221 case SUBSTRING:
2222 case SUBSTR:
2223 case EXTRACT:
2224 case TRIM:
2225 case LAST_DAY:
2226 case TRADITIONAL:
2227 case TREE:
2228 case MYSQL_MAIN:
2229 case MYSQL_ADMIN:
2230 case INSTANT:
2231 case INPLACE:
2232 case COPY:
2233 case UL_BINARY:
2234 case AUTOCOMMIT:
2235 case INNODB:
2236 case REDO_LOG:
2237 case ACCOUNT:
2238 case ACTION:
2239 case ACTIVE:
2240 case ADMIN:
2241 case AFTER:
2242 case AGAINST:
2243 case AGGREGATE:
2244 case ALGORITHM:
2245 case ALWAYS:
2246 case ANY:
2247 case ARRAY:
2248 case ASCII:
2249 case AT:
2250 case ATTRIBUTE:
2251 case AUTOEXTEND_SIZE:
2252 case AUTO_INCREMENT:
2253 case AVG:
2254 case BIT_XOR:
2255 case AVG_ROW_LENGTH:
2256 case BACKUP:
2257 case BEGIN:
2258 case BINLOG:
2259 case BIT:
2260 case BLOCK:
2261 case BOOL:
2262 case BOOLEAN:
2263 case BTREE:
2264 case BUCKETS:
2265 case BYTE:
2266 case CACHE:
2267 case CASCADED:
2268 case CATALOG_NAME:
2269 case CHAIN:
2270 case CHANGED:
2271 case CHANNEL:
2272 case CHARSET:
2273 case CHECKSUM:
2274 case CIPHER:
2275 case CLASS_ORIGIN:
2276 case CLIENT:
2277 case CLONE:
2278 case CLOSE:
2279 case COALESCE:
2280 case CODE:
2281 case COLLATION:
2282 case COLUMNS:
2283 case COLUMN_FORMAT:
2284 case COLUMN_NAME:
2285 case COMMENT:
2286 case COMMIT:
2287 case COMMITTED:
2288 case COMPACT:
2289 case COMPLETION:
2290 case COMPONENT:
2291 case COMPRESSED:
2292 case COMPRESSION:
2293 case CONCURRENT:
2294 case CONNECTION:
2295 case CONSISTENT:
2296 case CONSTRAINT_CATALOG:
2297 case CONSTRAINT_NAME:
2298 case CONSTRAINT_SCHEMA:
2299 case CONTAINS:
2300 case CONTEXT:
2301 case CPU:
2302 case CREATE:
2303 case CURRENT:
2304 case CURSOR_NAME:
2305 case DATA:
2306 case DATAFILE:
2307 case DATE:
2308 case DATETIME:
2309 case DAY:
2310 case DAY_MINUTE:
2311 case DEALLOCATE:
2312 case DEFAULT_AUTH:
2313 case DEFINER:
2314 case DEFINITION:
2315 case DELAY_KEY_WRITE:
2316 case DESCRIPTION:
2317 case DIAGNOSTICS:
2318 case DIRECTORY:
2319 case DISABLE:
2320 case DISCARD:
2321 case DISK:
2322 case DO:
2323 case DUMPFILE:
2324 case DUPLICATE:
2325 case DYNAMIC:
2326 case ENABLE:
2327 case ENCRYPTION:
2328 case END:
2329 case ENDS:
2330 case ENFORCED:
2331 case ENGINE:
2332 case ENGINES:
2333 case ENGINE_ATTRIBUTE:
2334 case ENUM:
2335 case ERROR:
2336 case ERRORS:
2337 case ESCAPE:
2338 case EVENT:
2339 case EVENTS:
2340 case EVERY:
2341 case EXCHANGE:
2342 case EXCLUDE:
2343 case EXECUTE:
2344 case EXPANSION:
2345 case EXPIRE:
2346 case EXPORT:
2347 case EXTENDED:
2348 case EXTENT_SIZE:
2349 case FAILED_LOGIN_ATTEMPTS:
2350 case FAST:
2351 case FAULTS:
2352 case FILE:
2353 case FILE_BLOCK_SIZE:
2354 case FILTER:
2355 case FIRST:
2356 case FIXED:
2357 case FLUSH:
2358 case FOLLOWING:
2359 case FOLLOWS:
2360 case FORMAT:
2361 case FOUND:
2362 case FULL:
2363 case GENERAL:
2364 case GEOMETRY:
2365 case GEOMETRYCOLLECTION:
2366 case GET_FORMAT:
2367 case GET_MASTER_PUBLIC_KEY:
2368 case GLOBAL:
2369 case GRANTS:
2370 case GROUP_REPLICATION:
2371 case HANDLER:
2372 case HASH:
2373 case HELP:
2374 case HISTOGRAM:
2375 case HISTORY:
2376 case HOST:
2377 case HOSTS:
2378 case HOUR:
2379 case IDENTIFIED:
2380 case IGNORE_SERVER_IDS:
2381 case IMPORT:
2382 case INACTIVE:
2383 case INDEXES:
2384 case INITIAL_SIZE:
2385 case INSERT_METHOD:
2386 case INSTALL:
2387 case INSTANCE:
2388 case INVISIBLE:
2389 case INVOKER:
2390 case IO:
2391 case IPC:
2392 case ISOLATION:
2393 case ISSUER:
2394 case JSON:
2395 case JSON_VALUE:
2396 case KEY:
2397 case KEY_BLOCK_SIZE:
2398 case LANGUAGE:
2399 case LAST:
2400 case LAST_VALUE:
2401 case LEAVES:
2402 case LESS:
2403 case LEVEL:
2404 case LINESTRING:
2405 case LIST:
2406 case LOCAL:
2407 case LOCKED:
2408 case LOCKS:
2409 case LOGFILE:
2410 case LOGS:
2411 case MASTER:
2412 case MASTER_AUTO_POSITION:
2413 case MASTER_COMPRESSION_ALGORITHM:
2414 case MASTER_CONNECT_RETRY:
2415 case MASTER_DELAY:
2416 case MASTER_HEARTBEAT_PERIOD:
2417 case MASTER_HOST:
2418 case MASTER_LOG_FILE:
2419 case MASTER_LOG_POS:
2420 case MASTER_PASSWORD:
2421 case MASTER_PORT:
2422 case MASTER_PUBLIC_KEY_PATH:
2423 case MASTER_RETRY_COUNT:
2424 case MASTER_SERVER_ID:
2425 case MASTER_SSL:
2426 case MASTER_SSL_CA:
2427 case MASTER_SSL_CAPATH:
2428 case MASTER_SSL_CERT:
2429 case MASTER_SSL_CIPHER:
2430 case MASTER_SSL_CRL:
2431 case MASTER_SSL_CRLPATH:
2432 case MASTER_SSL_KEY:
2433 case MASTER_TLS_CIPHERSUITES:
2434 case MASTER_TLS_VERSION:
2435 case MASTER_USER:
2436 case MASTER_ZSTD_COMPRESSION_LEVEL:
2437 case MAXVALUE:
2438 case MAX_CONNECTIONS_PER_HOUR:
2439 case MAX_QUERIES_PER_HOUR:
2440 case MAX_ROWS:
2441 case MAX_SIZE:
2442 case MAX_UPDATES_PER_HOUR:
2443 case MAX_USER_CONNECTIONS:
2444 case MEDIUM:
2445 case MEMBER:
2446 case MEMORY:
2447 case MERGE:
2448 case MESSAGE_TEXT:
2449 case MICROSECOND:
2450 case MIGRATE:
2451 case MINUTE:
2452 case MIN_ROWS:
2453 case MODE:
2454 case MODIFY:
2455 case MONTH:
2456 case MULTILINESTRING:
2457 case MULTIPOINT:
2458 case MULTIPOLYGON:
2459 case MUTEX:
2460 case MYSQL_ERRNO:
2461 case NAME:
2462 case NAMES:
2463 case NATIONAL:
2464 case NCHAR:
2465 case NDBCLUSTER:
2466 case NESTED:
2467 case NETWORK_NAMESPACE:
2468 case NEVER:
2469 case NEW:
2470 case NEXT:
2471 case NO:
2472 case NODEGROUP:
2473 case NONE:
2474 case NOWAIT:
2475 case NO_WAIT:
2476 case NULLS:
2477 case NUMBER:
2478 case NVARCHAR:
2479 case OFF:
2480 case OFFSET:
2481 case OJ:
2482 case OLD:
2483 case ONE:
2484 case ONLY:
2485 case OPEN:
2486 case OPTIONAL:
2487 case OPTIONS:
2488 case ORDINALITY:
2489 case ORGANIZATION:
2490 case OTHERS:
2491 case OWNER:
2492 case PACK_KEYS:
2493 case PAGE:
2494 case PARSER:
2495 case PARTIAL:
2496 case PARTITIONING:
2497 case PARTITIONS:
2498 case PASSWORD:
2499 case PASSWORD_LOCK_TIME:
2500 case PATH:
2501 case PERSIST:
2502 case PERSIST_ONLY:
2503 case PHASE:
2504 case PLUGIN:
2505 case PLUGINS:
2506 case PLUGIN_DIR:
2507 case POINT:
2508 case POLYGON:
2509 case PORT:
2510 case PRECEDES:
2511 case PRECEDING:
2512 case PREPARE:
2513 case PRESERVE:
2514 case PREV:
2515 case PRIMARY:
2516 case PRIVILEGES:
2517 case PRIVILEGE_CHECKS_USER:
2518 case PROCESS:
2519 case PROCESSLIST:
2520 case PROFILE:
2521 case PROFILES:
2522 case PROXY:
2523 case QUARTER:
2524 case QUERY:
2525 case QUICK:
2526 case RANDOM:
2527 case READ_ONLY:
2528 case REBUILD:
2529 case RECOVER:
2530 case REDO_BUFFER_SIZE:
2531 case REDUNDANT:
2532 case REFERENCE:
2533 case RELAY:
2534 case RELAYLOG:
2535 case RELAY_LOG_FILE:
2536 case RELAY_LOG_POS:
2537 case RELAY_THREAD:
2538 case RELOAD:
2539 case REMOVE:
2540 case REORGANIZE:
2541 case REPAIR:
2542 case REPEATABLE:
2543 case REPLICATE_DO_DB:
2544 case REPLICATE_DO_TABLE:
2545 case REPLICATE_IGNORE_DB:
2546 case REPLICATE_IGNORE_TABLE:
2547 case REPLICATE_REWRITE_DB:
2548 case REPLICATE_WILD_DO_TABLE:
2549 case REPLICATE_WILD_IGNORE_TABLE:
2550 case REPLICATION:
2551 case REQUIRE_ROW_FORMAT:
2552 case RESET:
2553 case RESOURCE:
2554 case RESPECT:
2555 case RESTART:
2556 case RESTORE:
2557 case RESUME:
2558 case RETAIN:
2559 case RETURNED_SQLSTATE:
2560 case RETURNING:
2561 case RETURNS:
2562 case REUSE:
2563 case REVERSE:
2564 case ROLE:
2565 case ROLLBACK:
2566 case ROLLUP:
2567 case ROTATE:
2568 case ROUTINE:
2569 case ROW_COUNT:
2570 case ROW_FORMAT:
2571 case RTREE:
2572 case SAVEPOINT:
2573 case SCHEDULE:
2574 case SCHEMA_NAME:
2575 case SECOND:
2576 case SECONDARY:
2577 case SECONDARY_ENGINE:
2578 case SECONDARY_ENGINE_ATTRIBUTE:
2579 case SECONDARY_LOAD:
2580 case SECONDARY_UNLOAD:
2581 case SECURITY:
2582 case SERIAL:
2583 case SERIALIZABLE:
2584 case SERVER:
2585 case SESSION:
2586 case SHARE:
2587 case SHUTDOWN:
2588 case SIGNED:
2589 case SIMPLE:
2590 case SLAVE:
2591 case SLOW:
2592 case SNAPSHOT:
2593 case SOCKET:
2594 case SONAME:
2595 case SOUNDS:
2596 case SOURCE:
2597 case SQL_AFTER_GTIDS:
2598 case SQL_AFTER_MTS_GAPS:
2599 case SQL_BEFORE_GTIDS:
2600 case SQL_BUFFER_RESULT:
2601 case SQL_NO_CACHE:
2602 case SQL_THREAD:
2603 case SRID:
2604 case STACKED:
2605 case START:
2606 case STARTS:
2607 case STATS_AUTO_RECALC:
2608 case STATS_PERSISTENT:
2609 case STATS_SAMPLE_PAGES:
2610 case STATUS:
2611 case STOP:
2612 case STORAGE:
2613 case STREAM:
2614 case STRING:
2615 case SUBCLASS_ORIGIN:
2616 case SUBJECT:
2617 case SUBPARTITION:
2618 case SUBPARTITIONS:
2619 case SUPER:
2620 case SUSPEND:
2621 case SWAPS:
2622 case SWITCHES:
2623 case SYSTEM:
2624 case TABLE:
2625 case TABLES:
2626 case TABLESPACE:
2627 case TABLE_CHECKSUM:
2628 case TABLE_NAME:
2629 case TEMPORARY:
2630 case TEMPTABLE:
2631 case TEXT:
2632 case THAN:
2633 case THREAD_PRIORITY:
2634 case TIES:
2635 case TIME:
2636 case TIMESTAMP:
2637 case TIMESTAMP_ADD:
2638 case TIMESTAMP_DIFF:
2639 case TLS:
2640 case TRANSACTION:
2641 case TRIGGERS:
2642 case TRUNCATE:
2643 case TYPE:
2644 case TYPES:
2645 case UNBOUNDED:
2646 case UNCOMMITTED:
2647 case UNDEFINED:
2648 case UNDOFILE:
2649 case UNDO_BUFFER_SIZE:
2650 case UNICODE:
2651 case UNINSTALL:
2652 case UNKNOWN:
2653 case UNTIL:
2654 case UPGRADE:
2655 case USER:
2656 case USER_RESOURCES:
2657 case USE_FRM:
2658 case UTC_DATE:
2659 case UTC_TIME:
2660 case UTC_TIMESTAMP:
2661 case VALIDATION:
2662 case VALUE:
2663 case VARIABLES:
2664 case VCPU:
2665 case VIEW:
2666 case VISIBLE:
2667 case WAIT:
2668 case WARNINGS:
2669 case WEEK:
2670 case WEIGHT_STRING:
2671 case WITHOUT:
2672 case WORK:
2673 case WRAPPER:
2674 case X509:
2675 case XA:
2676 case XID:
2677 case XML:
2678 case YEAR:
2679 case YEAR_MONTH:
2680 case DOUBLE_QUOTED_TEXT:
2681 case BQUOTA_STRING:
2682 case UNDERSCORE_CHARSET:
2683 case IDENTIFIER_:
2684 enterOuterAlt(_localctx, 1);
2685 {
2686 setState(722);
2687 tableAliasRefList();
2688 setState(723);
2689 match(FROM);
2690 setState(724);
2691 tableReferences();
2692 }
2693 break;
2694 case FROM:
2695 enterOuterAlt(_localctx, 2);
2696 {
2697 setState(726);
2698 match(FROM);
2699 setState(727);
2700 tableAliasRefList();
2701 setState(728);
2702 match(USING);
2703 setState(729);
2704 tableReferences();
2705 }
2706 break;
2707 default:
2708 throw new NoViableAltException(this);
2709 }
2710 }
2711 catch (RecognitionException re) {
2712 _localctx.exception = re;
2713 _errHandler.reportError(this, re);
2714 _errHandler.recover(this, re);
2715 }
2716 finally {
2717 exitRule();
2718 }
2719 return _localctx;
2720 }
2721
2722 public static class SelectContext extends ParserRuleContext {
2723 public QueryExpressionContext queryExpression() {
2724 return getRuleContext(QueryExpressionContext.class,0);
2725 }
2726 public LockClauseListContext lockClauseList() {
2727 return getRuleContext(LockClauseListContext.class,0);
2728 }
2729 public QueryExpressionParensContext queryExpressionParens() {
2730 return getRuleContext(QueryExpressionParensContext.class,0);
2731 }
2732 public SelectWithIntoContext selectWithInto() {
2733 return getRuleContext(SelectWithIntoContext.class,0);
2734 }
2735 public SelectContext(ParserRuleContext parent, int invokingState) {
2736 super(parent, invokingState);
2737 }
2738 @Override public int getRuleIndex() { return RULE_select; }
2739 @Override
2740 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2741 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSelect(this);
2742 else return visitor.visitChildren(this);
2743 }
2744 }
2745
2746 public final SelectContext select() throws RecognitionException {
2747 SelectContext _localctx = new SelectContext(_ctx, getState());
2748 enterRule(_localctx, 44, RULE_select);
2749 int _la;
2750 try {
2751 setState(739);
2752 _errHandler.sync(this);
2753 switch ( getInterpreter().adaptivePredict(_input,48,_ctx) ) {
2754 case 1:
2755 enterOuterAlt(_localctx, 1);
2756 {
2757 setState(733);
2758 queryExpression();
2759 setState(735);
2760 _errHandler.sync(this);
2761 _la = _input.LA(1);
2762 if (_la==FOR || _la==LOCK) {
2763 {
2764 setState(734);
2765 lockClauseList();
2766 }
2767 }
2768
2769 }
2770 break;
2771 case 2:
2772 enterOuterAlt(_localctx, 2);
2773 {
2774 setState(737);
2775 queryExpressionParens();
2776 }
2777 break;
2778 case 3:
2779 enterOuterAlt(_localctx, 3);
2780 {
2781 setState(738);
2782 selectWithInto();
2783 }
2784 break;
2785 }
2786 }
2787 catch (RecognitionException re) {
2788 _localctx.exception = re;
2789 _errHandler.reportError(this, re);
2790 _errHandler.recover(this, re);
2791 }
2792 finally {
2793 exitRule();
2794 }
2795 return _localctx;
2796 }
2797
2798 public static class SelectWithIntoContext extends ParserRuleContext {
2799 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
2800 public SelectWithIntoContext selectWithInto() {
2801 return getRuleContext(SelectWithIntoContext.class,0);
2802 }
2803 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
2804 public QueryExpressionContext queryExpression() {
2805 return getRuleContext(QueryExpressionContext.class,0);
2806 }
2807 public SelectIntoExpressionContext selectIntoExpression() {
2808 return getRuleContext(SelectIntoExpressionContext.class,0);
2809 }
2810 public LockClauseListContext lockClauseList() {
2811 return getRuleContext(LockClauseListContext.class,0);
2812 }
2813 public SelectWithIntoContext(ParserRuleContext parent, int invokingState) {
2814 super(parent, invokingState);
2815 }
2816 @Override public int getRuleIndex() { return RULE_selectWithInto; }
2817 @Override
2818 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2819 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSelectWithInto(this);
2820 else return visitor.visitChildren(this);
2821 }
2822 }
2823
2824 public final SelectWithIntoContext selectWithInto() throws RecognitionException {
2825 SelectWithIntoContext _localctx = new SelectWithIntoContext(_ctx, getState());
2826 enterRule(_localctx, 46, RULE_selectWithInto);
2827 int _la;
2828 try {
2829 setState(754);
2830 _errHandler.sync(this);
2831 switch ( getInterpreter().adaptivePredict(_input,50,_ctx) ) {
2832 case 1:
2833 enterOuterAlt(_localctx, 1);
2834 {
2835 setState(741);
2836 match(LP_);
2837 setState(742);
2838 selectWithInto();
2839 setState(743);
2840 match(RP_);
2841 }
2842 break;
2843 case 2:
2844 enterOuterAlt(_localctx, 2);
2845 {
2846 setState(745);
2847 queryExpression();
2848 setState(746);
2849 selectIntoExpression();
2850 setState(748);
2851 _errHandler.sync(this);
2852 _la = _input.LA(1);
2853 if (_la==FOR || _la==LOCK) {
2854 {
2855 setState(747);
2856 lockClauseList();
2857 }
2858 }
2859
2860 }
2861 break;
2862 case 3:
2863 enterOuterAlt(_localctx, 3);
2864 {
2865 setState(750);
2866 queryExpression();
2867 setState(751);
2868 lockClauseList();
2869 setState(752);
2870 selectIntoExpression();
2871 }
2872 break;
2873 }
2874 }
2875 catch (RecognitionException re) {
2876 _localctx.exception = re;
2877 _errHandler.reportError(this, re);
2878 _errHandler.recover(this, re);
2879 }
2880 finally {
2881 exitRule();
2882 }
2883 return _localctx;
2884 }
2885
2886 public static class QueryExpressionContext extends ParserRuleContext {
2887 public QueryExpressionBodyContext queryExpressionBody() {
2888 return getRuleContext(QueryExpressionBodyContext.class,0);
2889 }
2890 public QueryExpressionParensContext queryExpressionParens() {
2891 return getRuleContext(QueryExpressionParensContext.class,0);
2892 }
2893 public WithClauseContext withClause() {
2894 return getRuleContext(WithClauseContext.class,0);
2895 }
2896 public OrderByClauseContext orderByClause() {
2897 return getRuleContext(OrderByClauseContext.class,0);
2898 }
2899 public LimitClauseContext limitClause() {
2900 return getRuleContext(LimitClauseContext.class,0);
2901 }
2902 public QueryExpressionContext(ParserRuleContext parent, int invokingState) {
2903 super(parent, invokingState);
2904 }
2905 @Override public int getRuleIndex() { return RULE_queryExpression; }
2906 @Override
2907 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2908 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitQueryExpression(this);
2909 else return visitor.visitChildren(this);
2910 }
2911 }
2912
2913 public final QueryExpressionContext queryExpression() throws RecognitionException {
2914 QueryExpressionContext _localctx = new QueryExpressionContext(_ctx, getState());
2915 enterRule(_localctx, 48, RULE_queryExpression);
2916 int _la;
2917 try {
2918 enterOuterAlt(_localctx, 1);
2919 {
2920 setState(757);
2921 _errHandler.sync(this);
2922 _la = _input.LA(1);
2923 if (_la==WITH) {
2924 {
2925 setState(756);
2926 withClause();
2927 }
2928 }
2929
2930 setState(761);
2931 _errHandler.sync(this);
2932 switch ( getInterpreter().adaptivePredict(_input,52,_ctx) ) {
2933 case 1:
2934 {
2935 setState(759);
2936 queryExpressionBody(0);
2937 }
2938 break;
2939 case 2:
2940 {
2941 setState(760);
2942 queryExpressionParens();
2943 }
2944 break;
2945 }
2946 setState(764);
2947 _errHandler.sync(this);
2948 _la = _input.LA(1);
2949 if (_la==ORDER) {
2950 {
2951 setState(763);
2952 orderByClause();
2953 }
2954 }
2955
2956 setState(767);
2957 _errHandler.sync(this);
2958 _la = _input.LA(1);
2959 if (_la==LIMIT) {
2960 {
2961 setState(766);
2962 limitClause();
2963 }
2964 }
2965
2966 }
2967 }
2968 catch (RecognitionException re) {
2969 _localctx.exception = re;
2970 _errHandler.reportError(this, re);
2971 _errHandler.recover(this, re);
2972 }
2973 finally {
2974 exitRule();
2975 }
2976 return _localctx;
2977 }
2978
2979 public static class QueryExpressionBodyContext extends ParserRuleContext {
2980 public QueryPrimaryContext queryPrimary() {
2981 return getRuleContext(QueryPrimaryContext.class,0);
2982 }
2983 public QueryExpressionParensContext queryExpressionParens() {
2984 return getRuleContext(QueryExpressionParensContext.class,0);
2985 }
2986 public CombineClauseContext combineClause() {
2987 return getRuleContext(CombineClauseContext.class,0);
2988 }
2989 public QueryExpressionBodyContext queryExpressionBody() {
2990 return getRuleContext(QueryExpressionBodyContext.class,0);
2991 }
2992 public QueryExpressionBodyContext(ParserRuleContext parent, int invokingState) {
2993 super(parent, invokingState);
2994 }
2995 @Override public int getRuleIndex() { return RULE_queryExpressionBody; }
2996 @Override
2997 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2998 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitQueryExpressionBody(this);
2999 else return visitor.visitChildren(this);
3000 }
3001 }
3002
3003 public final QueryExpressionBodyContext queryExpressionBody() throws RecognitionException {
3004 return queryExpressionBody(0);
3005 }
3006
3007 private QueryExpressionBodyContext queryExpressionBody(int _p) throws RecognitionException {
3008 ParserRuleContext _parentctx = _ctx;
3009 int _parentState = getState();
3010 QueryExpressionBodyContext _localctx = new QueryExpressionBodyContext(_ctx, _parentState);
3011 QueryExpressionBodyContext _prevctx = _localctx;
3012 int _startState = 50;
3013 enterRecursionRule(_localctx, 50, RULE_queryExpressionBody, _p);
3014 try {
3015 int _alt;
3016 enterOuterAlt(_localctx, 1);
3017 {
3018 setState(774);
3019 _errHandler.sync(this);
3020 switch (_input.LA(1)) {
3021 case SELECT:
3022 case TABLE:
3023 case VALUES:
3024 {
3025 setState(770);
3026 queryPrimary();
3027 }
3028 break;
3029 case LP_:
3030 {
3031 setState(771);
3032 queryExpressionParens();
3033 setState(772);
3034 combineClause();
3035 }
3036 break;
3037 default:
3038 throw new NoViableAltException(this);
3039 }
3040 _ctx.stop = _input.LT(-1);
3041 setState(780);
3042 _errHandler.sync(this);
3043 _alt = getInterpreter().adaptivePredict(_input,56,_ctx);
3044 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
3045 if ( _alt==1 ) {
3046 if ( _parseListeners!=null ) triggerExitRuleEvent();
3047 _prevctx = _localctx;
3048 {
3049 {
3050 _localctx = new QueryExpressionBodyContext(_parentctx, _parentState);
3051 pushNewRecursionContext(_localctx, _startState, RULE_queryExpressionBody);
3052 setState(776);
3053 if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
3054 setState(777);
3055 combineClause();
3056 }
3057 }
3058 }
3059 setState(782);
3060 _errHandler.sync(this);
3061 _alt = getInterpreter().adaptivePredict(_input,56,_ctx);
3062 }
3063 }
3064 }
3065 catch (RecognitionException re) {
3066 _localctx.exception = re;
3067 _errHandler.reportError(this, re);
3068 _errHandler.recover(this, re);
3069 }
3070 finally {
3071 unrollRecursionContexts(_parentctx);
3072 }
3073 return _localctx;
3074 }
3075
3076 public static class CombineClauseContext extends ParserRuleContext {
3077 public TerminalNode UNION() { return getToken(HiveStatementParser.UNION, 0); }
3078 public QueryPrimaryContext queryPrimary() {
3079 return getRuleContext(QueryPrimaryContext.class,0);
3080 }
3081 public QueryExpressionParensContext queryExpressionParens() {
3082 return getRuleContext(QueryExpressionParensContext.class,0);
3083 }
3084 public CombineOptionContext combineOption() {
3085 return getRuleContext(CombineOptionContext.class,0);
3086 }
3087 public TerminalNode EXCEPT() { return getToken(HiveStatementParser.EXCEPT, 0); }
3088 public CombineClauseContext(ParserRuleContext parent, int invokingState) {
3089 super(parent, invokingState);
3090 }
3091 @Override public int getRuleIndex() { return RULE_combineClause; }
3092 @Override
3093 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3094 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCombineClause(this);
3095 else return visitor.visitChildren(this);
3096 }
3097 }
3098
3099 public final CombineClauseContext combineClause() throws RecognitionException {
3100 CombineClauseContext _localctx = new CombineClauseContext(_ctx, getState());
3101 enterRule(_localctx, 52, RULE_combineClause);
3102 int _la;
3103 try {
3104 setState(799);
3105 _errHandler.sync(this);
3106 switch (_input.LA(1)) {
3107 case UNION:
3108 enterOuterAlt(_localctx, 1);
3109 {
3110 setState(783);
3111 match(UNION);
3112 setState(785);
3113 _errHandler.sync(this);
3114 _la = _input.LA(1);
3115 if (_la==ALL || _la==DISTINCT) {
3116 {
3117 setState(784);
3118 combineOption();
3119 }
3120 }
3121
3122 setState(789);
3123 _errHandler.sync(this);
3124 switch (_input.LA(1)) {
3125 case SELECT:
3126 case TABLE:
3127 case VALUES:
3128 {
3129 setState(787);
3130 queryPrimary();
3131 }
3132 break;
3133 case LP_:
3134 {
3135 setState(788);
3136 queryExpressionParens();
3137 }
3138 break;
3139 default:
3140 throw new NoViableAltException(this);
3141 }
3142 }
3143 break;
3144 case EXCEPT:
3145 enterOuterAlt(_localctx, 2);
3146 {
3147 setState(791);
3148 match(EXCEPT);
3149 setState(793);
3150 _errHandler.sync(this);
3151 _la = _input.LA(1);
3152 if (_la==ALL || _la==DISTINCT) {
3153 {
3154 setState(792);
3155 combineOption();
3156 }
3157 }
3158
3159 setState(797);
3160 _errHandler.sync(this);
3161 switch (_input.LA(1)) {
3162 case SELECT:
3163 case TABLE:
3164 case VALUES:
3165 {
3166 setState(795);
3167 queryPrimary();
3168 }
3169 break;
3170 case LP_:
3171 {
3172 setState(796);
3173 queryExpressionParens();
3174 }
3175 break;
3176 default:
3177 throw new NoViableAltException(this);
3178 }
3179 }
3180 break;
3181 default:
3182 throw new NoViableAltException(this);
3183 }
3184 }
3185 catch (RecognitionException re) {
3186 _localctx.exception = re;
3187 _errHandler.reportError(this, re);
3188 _errHandler.recover(this, re);
3189 }
3190 finally {
3191 exitRule();
3192 }
3193 return _localctx;
3194 }
3195
3196 public static class QueryExpressionParensContext extends ParserRuleContext {
3197 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
3198 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
3199 public QueryExpressionParensContext queryExpressionParens() {
3200 return getRuleContext(QueryExpressionParensContext.class,0);
3201 }
3202 public QueryExpressionContext queryExpression() {
3203 return getRuleContext(QueryExpressionContext.class,0);
3204 }
3205 public LockClauseListContext lockClauseList() {
3206 return getRuleContext(LockClauseListContext.class,0);
3207 }
3208 public QueryExpressionParensContext(ParserRuleContext parent, int invokingState) {
3209 super(parent, invokingState);
3210 }
3211 @Override public int getRuleIndex() { return RULE_queryExpressionParens; }
3212 @Override
3213 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3214 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitQueryExpressionParens(this);
3215 else return visitor.visitChildren(this);
3216 }
3217 }
3218
3219 public final QueryExpressionParensContext queryExpressionParens() throws RecognitionException {
3220 QueryExpressionParensContext _localctx = new QueryExpressionParensContext(_ctx, getState());
3221 enterRule(_localctx, 54, RULE_queryExpressionParens);
3222 int _la;
3223 try {
3224 enterOuterAlt(_localctx, 1);
3225 {
3226 setState(801);
3227 match(LP_);
3228 setState(807);
3229 _errHandler.sync(this);
3230 switch ( getInterpreter().adaptivePredict(_input,63,_ctx) ) {
3231 case 1:
3232 {
3233 setState(802);
3234 queryExpressionParens();
3235 }
3236 break;
3237 case 2:
3238 {
3239 setState(803);
3240 queryExpression();
3241 setState(805);
3242 _errHandler.sync(this);
3243 _la = _input.LA(1);
3244 if (_la==FOR || _la==LOCK) {
3245 {
3246 setState(804);
3247 lockClauseList();
3248 }
3249 }
3250
3251 }
3252 break;
3253 }
3254 setState(809);
3255 match(RP_);
3256 }
3257 }
3258 catch (RecognitionException re) {
3259 _localctx.exception = re;
3260 _errHandler.reportError(this, re);
3261 _errHandler.recover(this, re);
3262 }
3263 finally {
3264 exitRule();
3265 }
3266 return _localctx;
3267 }
3268
3269 public static class QueryPrimaryContext extends ParserRuleContext {
3270 public QuerySpecificationContext querySpecification() {
3271 return getRuleContext(QuerySpecificationContext.class,0);
3272 }
3273 public TableValueConstructorContext tableValueConstructor() {
3274 return getRuleContext(TableValueConstructorContext.class,0);
3275 }
3276 public TableStatementContext tableStatement() {
3277 return getRuleContext(TableStatementContext.class,0);
3278 }
3279 public QueryPrimaryContext(ParserRuleContext parent, int invokingState) {
3280 super(parent, invokingState);
3281 }
3282 @Override public int getRuleIndex() { return RULE_queryPrimary; }
3283 @Override
3284 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3285 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitQueryPrimary(this);
3286 else return visitor.visitChildren(this);
3287 }
3288 }
3289
3290 public final QueryPrimaryContext queryPrimary() throws RecognitionException {
3291 QueryPrimaryContext _localctx = new QueryPrimaryContext(_ctx, getState());
3292 enterRule(_localctx, 56, RULE_queryPrimary);
3293 try {
3294 setState(814);
3295 _errHandler.sync(this);
3296 switch (_input.LA(1)) {
3297 case SELECT:
3298 enterOuterAlt(_localctx, 1);
3299 {
3300 setState(811);
3301 querySpecification();
3302 }
3303 break;
3304 case VALUES:
3305 enterOuterAlt(_localctx, 2);
3306 {
3307 setState(812);
3308 tableValueConstructor();
3309 }
3310 break;
3311 case TABLE:
3312 enterOuterAlt(_localctx, 3);
3313 {
3314 setState(813);
3315 tableStatement();
3316 }
3317 break;
3318 default:
3319 throw new NoViableAltException(this);
3320 }
3321 }
3322 catch (RecognitionException re) {
3323 _localctx.exception = re;
3324 _errHandler.reportError(this, re);
3325 _errHandler.recover(this, re);
3326 }
3327 finally {
3328 exitRule();
3329 }
3330 return _localctx;
3331 }
3332
3333 public static class QuerySpecificationContext extends ParserRuleContext {
3334 public TerminalNode SELECT() { return getToken(HiveStatementParser.SELECT, 0); }
3335 public ProjectionsContext projections() {
3336 return getRuleContext(ProjectionsContext.class,0);
3337 }
3338 public List<SelectSpecificationContext> selectSpecification() {
3339 return getRuleContexts(SelectSpecificationContext.class);
3340 }
3341 public SelectSpecificationContext selectSpecification(int i) {
3342 return getRuleContext(SelectSpecificationContext.class,i);
3343 }
3344 public SelectIntoExpressionContext selectIntoExpression() {
3345 return getRuleContext(SelectIntoExpressionContext.class,0);
3346 }
3347 public FromClauseContext fromClause() {
3348 return getRuleContext(FromClauseContext.class,0);
3349 }
3350 public WhereClauseContext whereClause() {
3351 return getRuleContext(WhereClauseContext.class,0);
3352 }
3353 public GroupByClauseContext groupByClause() {
3354 return getRuleContext(GroupByClauseContext.class,0);
3355 }
3356 public HavingClauseContext havingClause() {
3357 return getRuleContext(HavingClauseContext.class,0);
3358 }
3359 public WindowClauseContext windowClause() {
3360 return getRuleContext(WindowClauseContext.class,0);
3361 }
3362 public QuerySpecificationContext(ParserRuleContext parent, int invokingState) {
3363 super(parent, invokingState);
3364 }
3365 @Override public int getRuleIndex() { return RULE_querySpecification; }
3366 @Override
3367 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3368 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitQuerySpecification(this);
3369 else return visitor.visitChildren(this);
3370 }
3371 }
3372
3373 public final QuerySpecificationContext querySpecification() throws RecognitionException {
3374 QuerySpecificationContext _localctx = new QuerySpecificationContext(_ctx, getState());
3375 enterRule(_localctx, 58, RULE_querySpecification);
3376 try {
3377 int _alt;
3378 enterOuterAlt(_localctx, 1);
3379 {
3380 setState(816);
3381 match(SELECT);
3382 setState(820);
3383 _errHandler.sync(this);
3384 _alt = getInterpreter().adaptivePredict(_input,65,_ctx);
3385 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
3386 if ( _alt==1 ) {
3387 {
3388 {
3389 setState(817);
3390 selectSpecification();
3391 }
3392 }
3393 }
3394 setState(822);
3395 _errHandler.sync(this);
3396 _alt = getInterpreter().adaptivePredict(_input,65,_ctx);
3397 }
3398 setState(823);
3399 projections();
3400 setState(825);
3401 _errHandler.sync(this);
3402 switch ( getInterpreter().adaptivePredict(_input,66,_ctx) ) {
3403 case 1:
3404 {
3405 setState(824);
3406 selectIntoExpression();
3407 }
3408 break;
3409 }
3410 setState(828);
3411 _errHandler.sync(this);
3412 switch ( getInterpreter().adaptivePredict(_input,67,_ctx) ) {
3413 case 1:
3414 {
3415 setState(827);
3416 fromClause();
3417 }
3418 break;
3419 }
3420 setState(831);
3421 _errHandler.sync(this);
3422 switch ( getInterpreter().adaptivePredict(_input,68,_ctx) ) {
3423 case 1:
3424 {
3425 setState(830);
3426 whereClause();
3427 }
3428 break;
3429 }
3430 setState(834);
3431 _errHandler.sync(this);
3432 switch ( getInterpreter().adaptivePredict(_input,69,_ctx) ) {
3433 case 1:
3434 {
3435 setState(833);
3436 groupByClause();
3437 }
3438 break;
3439 }
3440 setState(837);
3441 _errHandler.sync(this);
3442 switch ( getInterpreter().adaptivePredict(_input,70,_ctx) ) {
3443 case 1:
3444 {
3445 setState(836);
3446 havingClause();
3447 }
3448 break;
3449 }
3450 setState(840);
3451 _errHandler.sync(this);
3452 switch ( getInterpreter().adaptivePredict(_input,71,_ctx) ) {
3453 case 1:
3454 {
3455 setState(839);
3456 windowClause();
3457 }
3458 break;
3459 }
3460 }
3461 }
3462 catch (RecognitionException re) {
3463 _localctx.exception = re;
3464 _errHandler.reportError(this, re);
3465 _errHandler.recover(this, re);
3466 }
3467 finally {
3468 exitRule();
3469 }
3470 return _localctx;
3471 }
3472
3473 public static class TableStatementContext extends ParserRuleContext {
3474 public TerminalNode TABLE() { return getToken(HiveStatementParser.TABLE, 0); }
3475 public TableNameContext tableName() {
3476 return getRuleContext(TableNameContext.class,0);
3477 }
3478 public TableStatementContext(ParserRuleContext parent, int invokingState) {
3479 super(parent, invokingState);
3480 }
3481 @Override public int getRuleIndex() { return RULE_tableStatement; }
3482 @Override
3483 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3484 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableStatement(this);
3485 else return visitor.visitChildren(this);
3486 }
3487 }
3488
3489 public final TableStatementContext tableStatement() throws RecognitionException {
3490 TableStatementContext _localctx = new TableStatementContext(_ctx, getState());
3491 enterRule(_localctx, 60, RULE_tableStatement);
3492 try {
3493 enterOuterAlt(_localctx, 1);
3494 {
3495 setState(842);
3496 match(TABLE);
3497 setState(843);
3498 tableName();
3499 }
3500 }
3501 catch (RecognitionException re) {
3502 _localctx.exception = re;
3503 _errHandler.reportError(this, re);
3504 _errHandler.recover(this, re);
3505 }
3506 finally {
3507 exitRule();
3508 }
3509 return _localctx;
3510 }
3511
3512 public static class TableValueConstructorContext extends ParserRuleContext {
3513 public TerminalNode VALUES() { return getToken(HiveStatementParser.VALUES, 0); }
3514 public RowConstructorListContext rowConstructorList() {
3515 return getRuleContext(RowConstructorListContext.class,0);
3516 }
3517 public TableValueConstructorContext(ParserRuleContext parent, int invokingState) {
3518 super(parent, invokingState);
3519 }
3520 @Override public int getRuleIndex() { return RULE_tableValueConstructor; }
3521 @Override
3522 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3523 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableValueConstructor(this);
3524 else return visitor.visitChildren(this);
3525 }
3526 }
3527
3528 public final TableValueConstructorContext tableValueConstructor() throws RecognitionException {
3529 TableValueConstructorContext _localctx = new TableValueConstructorContext(_ctx, getState());
3530 enterRule(_localctx, 62, RULE_tableValueConstructor);
3531 try {
3532 enterOuterAlt(_localctx, 1);
3533 {
3534 setState(845);
3535 match(VALUES);
3536 setState(846);
3537 rowConstructorList();
3538 }
3539 }
3540 catch (RecognitionException re) {
3541 _localctx.exception = re;
3542 _errHandler.reportError(this, re);
3543 _errHandler.recover(this, re);
3544 }
3545 finally {
3546 exitRule();
3547 }
3548 return _localctx;
3549 }
3550
3551 public static class RowConstructorListContext extends ParserRuleContext {
3552 public List<TerminalNode> ROW() { return getTokens(HiveStatementParser.ROW); }
3553 public TerminalNode ROW(int i) {
3554 return getToken(HiveStatementParser.ROW, i);
3555 }
3556 public List<AssignmentValuesContext> assignmentValues() {
3557 return getRuleContexts(AssignmentValuesContext.class);
3558 }
3559 public AssignmentValuesContext assignmentValues(int i) {
3560 return getRuleContext(AssignmentValuesContext.class,i);
3561 }
3562 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
3563 public TerminalNode COMMA_(int i) {
3564 return getToken(HiveStatementParser.COMMA_, i);
3565 }
3566 public RowConstructorListContext(ParserRuleContext parent, int invokingState) {
3567 super(parent, invokingState);
3568 }
3569 @Override public int getRuleIndex() { return RULE_rowConstructorList; }
3570 @Override
3571 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3572 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitRowConstructorList(this);
3573 else return visitor.visitChildren(this);
3574 }
3575 }
3576
3577 public final RowConstructorListContext rowConstructorList() throws RecognitionException {
3578 RowConstructorListContext _localctx = new RowConstructorListContext(_ctx, getState());
3579 enterRule(_localctx, 64, RULE_rowConstructorList);
3580 try {
3581 int _alt;
3582 enterOuterAlt(_localctx, 1);
3583 {
3584 setState(848);
3585 match(ROW);
3586 setState(849);
3587 assignmentValues();
3588 setState(855);
3589 _errHandler.sync(this);
3590 _alt = getInterpreter().adaptivePredict(_input,72,_ctx);
3591 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
3592 if ( _alt==1 ) {
3593 {
3594 {
3595 setState(850);
3596 match(COMMA_);
3597 setState(851);
3598 match(ROW);
3599 setState(852);
3600 assignmentValues();
3601 }
3602 }
3603 }
3604 setState(857);
3605 _errHandler.sync(this);
3606 _alt = getInterpreter().adaptivePredict(_input,72,_ctx);
3607 }
3608 }
3609 }
3610 catch (RecognitionException re) {
3611 _localctx.exception = re;
3612 _errHandler.reportError(this, re);
3613 _errHandler.recover(this, re);
3614 }
3615 finally {
3616 exitRule();
3617 }
3618 return _localctx;
3619 }
3620
3621 public static class WithClauseContext extends ParserRuleContext {
3622 public TerminalNode WITH() { return getToken(HiveStatementParser.WITH, 0); }
3623 public List<CteClauseContext> cteClause() {
3624 return getRuleContexts(CteClauseContext.class);
3625 }
3626 public CteClauseContext cteClause(int i) {
3627 return getRuleContext(CteClauseContext.class,i);
3628 }
3629 public TerminalNode RECURSIVE() { return getToken(HiveStatementParser.RECURSIVE, 0); }
3630 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
3631 public TerminalNode COMMA_(int i) {
3632 return getToken(HiveStatementParser.COMMA_, i);
3633 }
3634 public WithClauseContext(ParserRuleContext parent, int invokingState) {
3635 super(parent, invokingState);
3636 }
3637 @Override public int getRuleIndex() { return RULE_withClause; }
3638 @Override
3639 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3640 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitWithClause(this);
3641 else return visitor.visitChildren(this);
3642 }
3643 }
3644
3645 public final WithClauseContext withClause() throws RecognitionException {
3646 WithClauseContext _localctx = new WithClauseContext(_ctx, getState());
3647 enterRule(_localctx, 66, RULE_withClause);
3648 int _la;
3649 try {
3650 enterOuterAlt(_localctx, 1);
3651 {
3652 setState(858);
3653 match(WITH);
3654 setState(860);
3655 _errHandler.sync(this);
3656 _la = _input.LA(1);
3657 if (_la==RECURSIVE) {
3658 {
3659 setState(859);
3660 match(RECURSIVE);
3661 }
3662 }
3663
3664 setState(862);
3665 cteClause();
3666 setState(867);
3667 _errHandler.sync(this);
3668 _la = _input.LA(1);
3669 while (_la==COMMA_) {
3670 {
3671 {
3672 setState(863);
3673 match(COMMA_);
3674 setState(864);
3675 cteClause();
3676 }
3677 }
3678 setState(869);
3679 _errHandler.sync(this);
3680 _la = _input.LA(1);
3681 }
3682 }
3683 }
3684 catch (RecognitionException re) {
3685 _localctx.exception = re;
3686 _errHandler.reportError(this, re);
3687 _errHandler.recover(this, re);
3688 }
3689 finally {
3690 exitRule();
3691 }
3692 return _localctx;
3693 }
3694
3695 public static class CteClauseContext extends ParserRuleContext {
3696 public IdentifierContext identifier() {
3697 return getRuleContext(IdentifierContext.class,0);
3698 }
3699 public TerminalNode AS() { return getToken(HiveStatementParser.AS, 0); }
3700 public SubqueryContext subquery() {
3701 return getRuleContext(SubqueryContext.class,0);
3702 }
3703 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
3704 public ColumnNamesContext columnNames() {
3705 return getRuleContext(ColumnNamesContext.class,0);
3706 }
3707 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
3708 public CteClauseContext(ParserRuleContext parent, int invokingState) {
3709 super(parent, invokingState);
3710 }
3711 @Override public int getRuleIndex() { return RULE_cteClause; }
3712 @Override
3713 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3714 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCteClause(this);
3715 else return visitor.visitChildren(this);
3716 }
3717 }
3718
3719 public final CteClauseContext cteClause() throws RecognitionException {
3720 CteClauseContext _localctx = new CteClauseContext(_ctx, getState());
3721 enterRule(_localctx, 68, RULE_cteClause);
3722 int _la;
3723 try {
3724 enterOuterAlt(_localctx, 1);
3725 {
3726 setState(870);
3727 identifier();
3728 setState(875);
3729 _errHandler.sync(this);
3730 _la = _input.LA(1);
3731 if (_la==LP_) {
3732 {
3733 setState(871);
3734 match(LP_);
3735 setState(872);
3736 columnNames();
3737 setState(873);
3738 match(RP_);
3739 }
3740 }
3741
3742 setState(877);
3743 match(AS);
3744 setState(878);
3745 subquery();
3746 }
3747 }
3748 catch (RecognitionException re) {
3749 _localctx.exception = re;
3750 _errHandler.reportError(this, re);
3751 _errHandler.recover(this, re);
3752 }
3753 finally {
3754 exitRule();
3755 }
3756 return _localctx;
3757 }
3758
3759 public static class SelectSpecificationContext extends ParserRuleContext {
3760 public DuplicateSpecificationContext duplicateSpecification() {
3761 return getRuleContext(DuplicateSpecificationContext.class,0);
3762 }
3763 public TerminalNode HIGH_PRIORITY() { return getToken(HiveStatementParser.HIGH_PRIORITY, 0); }
3764 public TerminalNode STRAIGHT_JOIN() { return getToken(HiveStatementParser.STRAIGHT_JOIN, 0); }
3765 public TerminalNode SQL_SMALL_RESULT() { return getToken(HiveStatementParser.SQL_SMALL_RESULT, 0); }
3766 public TerminalNode SQL_BIG_RESULT() { return getToken(HiveStatementParser.SQL_BIG_RESULT, 0); }
3767 public TerminalNode SQL_BUFFER_RESULT() { return getToken(HiveStatementParser.SQL_BUFFER_RESULT, 0); }
3768 public TerminalNode SQL_NO_CACHE() { return getToken(HiveStatementParser.SQL_NO_CACHE, 0); }
3769 public TerminalNode SQL_CALC_FOUND_ROWS() { return getToken(HiveStatementParser.SQL_CALC_FOUND_ROWS, 0); }
3770 public SelectSpecificationContext(ParserRuleContext parent, int invokingState) {
3771 super(parent, invokingState);
3772 }
3773 @Override public int getRuleIndex() { return RULE_selectSpecification; }
3774 @Override
3775 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3776 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSelectSpecification(this);
3777 else return visitor.visitChildren(this);
3778 }
3779 }
3780
3781 public final SelectSpecificationContext selectSpecification() throws RecognitionException {
3782 SelectSpecificationContext _localctx = new SelectSpecificationContext(_ctx, getState());
3783 enterRule(_localctx, 70, RULE_selectSpecification);
3784 try {
3785 setState(888);
3786 _errHandler.sync(this);
3787 switch (_input.LA(1)) {
3788 case ALL:
3789 case DISTINCT:
3790 case DISTINCTROW:
3791 enterOuterAlt(_localctx, 1);
3792 {
3793 setState(880);
3794 duplicateSpecification();
3795 }
3796 break;
3797 case HIGH_PRIORITY:
3798 enterOuterAlt(_localctx, 2);
3799 {
3800 setState(881);
3801 match(HIGH_PRIORITY);
3802 }
3803 break;
3804 case STRAIGHT_JOIN:
3805 enterOuterAlt(_localctx, 3);
3806 {
3807 setState(882);
3808 match(STRAIGHT_JOIN);
3809 }
3810 break;
3811 case SQL_SMALL_RESULT:
3812 enterOuterAlt(_localctx, 4);
3813 {
3814 setState(883);
3815 match(SQL_SMALL_RESULT);
3816 }
3817 break;
3818 case SQL_BIG_RESULT:
3819 enterOuterAlt(_localctx, 5);
3820 {
3821 setState(884);
3822 match(SQL_BIG_RESULT);
3823 }
3824 break;
3825 case SQL_BUFFER_RESULT:
3826 enterOuterAlt(_localctx, 6);
3827 {
3828 setState(885);
3829 match(SQL_BUFFER_RESULT);
3830 }
3831 break;
3832 case SQL_NO_CACHE:
3833 enterOuterAlt(_localctx, 7);
3834 {
3835 setState(886);
3836 match(SQL_NO_CACHE);
3837 }
3838 break;
3839 case SQL_CALC_FOUND_ROWS:
3840 enterOuterAlt(_localctx, 8);
3841 {
3842 setState(887);
3843 match(SQL_CALC_FOUND_ROWS);
3844 }
3845 break;
3846 default:
3847 throw new NoViableAltException(this);
3848 }
3849 }
3850 catch (RecognitionException re) {
3851 _localctx.exception = re;
3852 _errHandler.reportError(this, re);
3853 _errHandler.recover(this, re);
3854 }
3855 finally {
3856 exitRule();
3857 }
3858 return _localctx;
3859 }
3860
3861 public static class DuplicateSpecificationContext extends ParserRuleContext {
3862 public TerminalNode ALL() { return getToken(HiveStatementParser.ALL, 0); }
3863 public TerminalNode DISTINCT() { return getToken(HiveStatementParser.DISTINCT, 0); }
3864 public TerminalNode DISTINCTROW() { return getToken(HiveStatementParser.DISTINCTROW, 0); }
3865 public DuplicateSpecificationContext(ParserRuleContext parent, int invokingState) {
3866 super(parent, invokingState);
3867 }
3868 @Override public int getRuleIndex() { return RULE_duplicateSpecification; }
3869 @Override
3870 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3871 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDuplicateSpecification(this);
3872 else return visitor.visitChildren(this);
3873 }
3874 }
3875
3876 public final DuplicateSpecificationContext duplicateSpecification() throws RecognitionException {
3877 DuplicateSpecificationContext _localctx = new DuplicateSpecificationContext(_ctx, getState());
3878 enterRule(_localctx, 72, RULE_duplicateSpecification);
3879 int _la;
3880 try {
3881 enterOuterAlt(_localctx, 1);
3882 {
3883 setState(890);
3884 _la = _input.LA(1);
3885 if ( !(_la==ALL || _la==DISTINCT || _la==DISTINCTROW) ) {
3886 _errHandler.recoverInline(this);
3887 }
3888 else {
3889 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
3890 _errHandler.reportMatch(this);
3891 consume();
3892 }
3893 }
3894 }
3895 catch (RecognitionException re) {
3896 _localctx.exception = re;
3897 _errHandler.reportError(this, re);
3898 _errHandler.recover(this, re);
3899 }
3900 finally {
3901 exitRule();
3902 }
3903 return _localctx;
3904 }
3905
3906 public static class ProjectionsContext extends ParserRuleContext {
3907 public UnqualifiedShorthandContext unqualifiedShorthand() {
3908 return getRuleContext(UnqualifiedShorthandContext.class,0);
3909 }
3910 public List<ProjectionContext> projection() {
3911 return getRuleContexts(ProjectionContext.class);
3912 }
3913 public ProjectionContext projection(int i) {
3914 return getRuleContext(ProjectionContext.class,i);
3915 }
3916 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
3917 public TerminalNode COMMA_(int i) {
3918 return getToken(HiveStatementParser.COMMA_, i);
3919 }
3920 public ProjectionsContext(ParserRuleContext parent, int invokingState) {
3921 super(parent, invokingState);
3922 }
3923 @Override public int getRuleIndex() { return RULE_projections; }
3924 @Override
3925 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3926 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitProjections(this);
3927 else return visitor.visitChildren(this);
3928 }
3929 }
3930
3931 public final ProjectionsContext projections() throws RecognitionException {
3932 ProjectionsContext _localctx = new ProjectionsContext(_ctx, getState());
3933 enterRule(_localctx, 74, RULE_projections);
3934 try {
3935 int _alt;
3936 enterOuterAlt(_localctx, 1);
3937 {
3938 setState(894);
3939 _errHandler.sync(this);
3940 switch (_input.LA(1)) {
3941 case ASTERISK_:
3942 {
3943 setState(892);
3944 unqualifiedShorthand();
3945 }
3946 break;
3947 case NOT_:
3948 case TILDE_:
3949 case PLUS_:
3950 case MINUS_:
3951 case LP_:
3952 case LBE_:
3953 case QUESTION_:
3954 case AT_:
3955 case MAX:
3956 case MIN:
3957 case SUM:
3958 case COUNT:
3959 case GROUP_CONCAT:
3960 case CAST:
3961 case POSITION:
3962 case SUBSTRING:
3963 case SUBSTR:
3964 case EXTRACT:
3965 case TRIM:
3966 case LAST_DAY:
3967 case TRADITIONAL:
3968 case TREE:
3969 case MYSQL_MAIN:
3970 case MYSQL_ADMIN:
3971 case INSTANT:
3972 case INPLACE:
3973 case COPY:
3974 case UL_BINARY:
3975 case AUTOCOMMIT:
3976 case INNODB:
3977 case REDO_LOG:
3978 case ACCOUNT:
3979 case ACTION:
3980 case ACTIVE:
3981 case ADMIN:
3982 case AFTER:
3983 case AGAINST:
3984 case AGGREGATE:
3985 case ALGORITHM:
3986 case ALWAYS:
3987 case ANY:
3988 case ARRAY:
3989 case ASCII:
3990 case AT:
3991 case ATTRIBUTE:
3992 case AUTOEXTEND_SIZE:
3993 case AUTO_INCREMENT:
3994 case AVG:
3995 case BIT_XOR:
3996 case AVG_ROW_LENGTH:
3997 case BACKUP:
3998 case BEGIN:
3999 case BINARY:
4000 case BINLOG:
4001 case BIT:
4002 case BLOCK:
4003 case BOOL:
4004 case BOOLEAN:
4005 case BTREE:
4006 case BUCKETS:
4007 case BYTE:
4008 case CACHE:
4009 case CASCADED:
4010 case CASE:
4011 case CATALOG_NAME:
4012 case CHAIN:
4013 case CHANGED:
4014 case CHANNEL:
4015 case CHAR:
4016 case CHARSET:
4017 case CHECKSUM:
4018 case CIPHER:
4019 case CLASS_ORIGIN:
4020 case CLIENT:
4021 case CLONE:
4022 case CLOSE:
4023 case COALESCE:
4024 case CODE:
4025 case COLLATION:
4026 case COLUMNS:
4027 case COLUMN_FORMAT:
4028 case COLUMN_NAME:
4029 case COMMENT:
4030 case COMMIT:
4031 case COMMITTED:
4032 case COMPACT:
4033 case COMPLETION:
4034 case COMPONENT:
4035 case COMPRESSED:
4036 case COMPRESSION:
4037 case CONCURRENT:
4038 case CONNECTION:
4039 case CONSISTENT:
4040 case CONSTRAINT_CATALOG:
4041 case CONSTRAINT_NAME:
4042 case CONSTRAINT_SCHEMA:
4043 case CONTAINS:
4044 case CONTEXT:
4045 case CONVERT:
4046 case CPU:
4047 case CREATE:
4048 case CUME_DIST:
4049 case CURRENT:
4050 case CURRENT_DATE:
4051 case CURRENT_TIME:
4052 case CURRENT_TIMESTAMP:
4053 case CURRENT_USER:
4054 case CURSOR_NAME:
4055 case DATA:
4056 case DATABASE:
4057 case DATAFILE:
4058 case DATE:
4059 case DATETIME:
4060 case DAY:
4061 case DAY_MINUTE:
4062 case DEALLOCATE:
4063 case DEFAULT_AUTH:
4064 case DEFINER:
4065 case DEFINITION:
4066 case DELAY_KEY_WRITE:
4067 case DENSE_RANK:
4068 case DESCRIPTION:
4069 case DIAGNOSTICS:
4070 case DIRECTORY:
4071 case DISABLE:
4072 case DISCARD:
4073 case DISK:
4074 case DO:
4075 case DUMPFILE:
4076 case DUPLICATE:
4077 case DYNAMIC:
4078 case ENABLE:
4079 case ENCRYPTION:
4080 case END:
4081 case ENDS:
4082 case ENFORCED:
4083 case ENGINE:
4084 case ENGINES:
4085 case ENGINE_ATTRIBUTE:
4086 case ENUM:
4087 case ERROR:
4088 case ERRORS:
4089 case ESCAPE:
4090 case EVENT:
4091 case EVENTS:
4092 case EVERY:
4093 case EXCHANGE:
4094 case EXCLUDE:
4095 case EXECUTE:
4096 case EXISTS:
4097 case EXPANSION:
4098 case EXPIRE:
4099 case EXPORT:
4100 case EXTENDED:
4101 case EXTENT_SIZE:
4102 case FAILED_LOGIN_ATTEMPTS:
4103 case FALSE:
4104 case FAST:
4105 case FAULTS:
4106 case FILE:
4107 case FILE_BLOCK_SIZE:
4108 case FILTER:
4109 case FIRST:
4110 case FIRST_VALUE:
4111 case FIXED:
4112 case FLUSH:
4113 case FOLLOWING:
4114 case FOLLOWS:
4115 case FORMAT:
4116 case FOUND:
4117 case FULL:
4118 case GENERAL:
4119 case GEOMETRY:
4120 case GEOMETRYCOLLECTION:
4121 case GET_FORMAT:
4122 case GET_MASTER_PUBLIC_KEY:
4123 case GLOBAL:
4124 case GRANTS:
4125 case GROUP_REPLICATION:
4126 case HANDLER:
4127 case HASH:
4128 case HELP:
4129 case HISTOGRAM:
4130 case HISTORY:
4131 case HOST:
4132 case HOSTS:
4133 case HOUR:
4134 case IDENTIFIED:
4135 case IF:
4136 case IGNORE_SERVER_IDS:
4137 case IMPORT:
4138 case INACTIVE:
4139 case INDEXES:
4140 case INITIAL_SIZE:
4141 case INSERT:
4142 case INSERT_METHOD:
4143 case INSTALL:
4144 case INSTANCE:
4145 case INTERVAL:
4146 case INVISIBLE:
4147 case INVOKER:
4148 case IO:
4149 case IPC:
4150 case ISOLATION:
4151 case ISSUER:
4152 case JSON:
4153 case JSON_TABLE:
4154 case JSON_VALUE:
4155 case KEY:
4156 case KEY_BLOCK_SIZE:
4157 case LAG:
4158 case LANGUAGE:
4159 case LAST:
4160 case LAST_VALUE:
4161 case LEAD:
4162 case LEAVES:
4163 case LEFT:
4164 case LESS:
4165 case LEVEL:
4166 case LINESTRING:
4167 case LIST:
4168 case LOCAL:
4169 case LOCALTIME:
4170 case LOCALTIMESTAMP:
4171 case LOCKED:
4172 case LOCKS:
4173 case LOGFILE:
4174 case LOGS:
4175 case MASTER:
4176 case MASTER_AUTO_POSITION:
4177 case MASTER_COMPRESSION_ALGORITHM:
4178 case MASTER_CONNECT_RETRY:
4179 case MASTER_DELAY:
4180 case MASTER_HEARTBEAT_PERIOD:
4181 case MASTER_HOST:
4182 case MASTER_LOG_FILE:
4183 case MASTER_LOG_POS:
4184 case MASTER_PASSWORD:
4185 case MASTER_PORT:
4186 case MASTER_PUBLIC_KEY_PATH:
4187 case MASTER_RETRY_COUNT:
4188 case MASTER_SERVER_ID:
4189 case MASTER_SSL:
4190 case MASTER_SSL_CA:
4191 case MASTER_SSL_CAPATH:
4192 case MASTER_SSL_CERT:
4193 case MASTER_SSL_CIPHER:
4194 case MASTER_SSL_CRL:
4195 case MASTER_SSL_CRLPATH:
4196 case MASTER_SSL_KEY:
4197 case MASTER_TLS_CIPHERSUITES:
4198 case MASTER_TLS_VERSION:
4199 case MASTER_USER:
4200 case MASTER_ZSTD_COMPRESSION_LEVEL:
4201 case MATCH:
4202 case MAXVALUE:
4203 case MAX_CONNECTIONS_PER_HOUR:
4204 case MAX_QUERIES_PER_HOUR:
4205 case MAX_ROWS:
4206 case MAX_SIZE:
4207 case MAX_UPDATES_PER_HOUR:
4208 case MAX_USER_CONNECTIONS:
4209 case MEDIUM:
4210 case MEMBER:
4211 case MEMORY:
4212 case MERGE:
4213 case MESSAGE_TEXT:
4214 case MICROSECOND:
4215 case MIGRATE:
4216 case MINUTE:
4217 case MIN_ROWS:
4218 case MOD:
4219 case MODE:
4220 case MODIFY:
4221 case MONTH:
4222 case MULTILINESTRING:
4223 case MULTIPOINT:
4224 case MULTIPOLYGON:
4225 case MUTEX:
4226 case MYSQL_ERRNO:
4227 case NAME:
4228 case NAMES:
4229 case NATIONAL:
4230 case NCHAR:
4231 case NDBCLUSTER:
4232 case NESTED:
4233 case NETWORK_NAMESPACE:
4234 case NEVER:
4235 case NEW:
4236 case NEXT:
4237 case NO:
4238 case NODEGROUP:
4239 case NONE:
4240 case NOT:
4241 case NOWAIT:
4242 case NO_WAIT:
4243 case NTH_VALUE:
4244 case NTILE:
4245 case NULL:
4246 case NULLS:
4247 case NUMBER:
4248 case NVARCHAR:
4249 case OFF:
4250 case OFFSET:
4251 case OJ:
4252 case OLD:
4253 case ONE:
4254 case ONLY:
4255 case OPEN:
4256 case OPTIONAL:
4257 case OPTIONS:
4258 case ORDINALITY:
4259 case ORGANIZATION:
4260 case OTHERS:
4261 case OWNER:
4262 case PACK_KEYS:
4263 case PAGE:
4264 case PARSER:
4265 case PARTIAL:
4266 case PARTITIONING:
4267 case PARTITIONS:
4268 case PASSWORD:
4269 case PASSWORD_LOCK_TIME:
4270 case PATH:
4271 case PERCENT_RANK:
4272 case PERSIST:
4273 case PERSIST_ONLY:
4274 case PHASE:
4275 case PLUGIN:
4276 case PLUGINS:
4277 case PLUGIN_DIR:
4278 case POINT:
4279 case POLYGON:
4280 case PORT:
4281 case PRECEDES:
4282 case PRECEDING:
4283 case PREPARE:
4284 case PRESERVE:
4285 case PREV:
4286 case PRIMARY:
4287 case PRIVILEGES:
4288 case PRIVILEGE_CHECKS_USER:
4289 case PROCESS:
4290 case PROCESSLIST:
4291 case PROFILE:
4292 case PROFILES:
4293 case PROXY:
4294 case QUARTER:
4295 case QUERY:
4296 case QUICK:
4297 case RANDOM:
4298 case RANK:
4299 case READ_ONLY:
4300 case REBUILD:
4301 case RECOVER:
4302 case REDO_BUFFER_SIZE:
4303 case REDUNDANT:
4304 case REFERENCE:
4305 case RELAY:
4306 case RELAYLOG:
4307 case RELAY_LOG_FILE:
4308 case RELAY_LOG_POS:
4309 case RELAY_THREAD:
4310 case RELOAD:
4311 case REMOVE:
4312 case REORGANIZE:
4313 case REPAIR:
4314 case REPEAT:
4315 case REPEATABLE:
4316 case REPLACE:
4317 case REPLICATE_DO_DB:
4318 case REPLICATE_DO_TABLE:
4319 case REPLICATE_IGNORE_DB:
4320 case REPLICATE_IGNORE_TABLE:
4321 case REPLICATE_REWRITE_DB:
4322 case REPLICATE_WILD_DO_TABLE:
4323 case REPLICATE_WILD_IGNORE_TABLE:
4324 case REPLICATION:
4325 case REQUIRE_ROW_FORMAT:
4326 case RESET:
4327 case RESOURCE:
4328 case RESPECT:
4329 case RESTART:
4330 case RESTORE:
4331 case RESUME:
4332 case RETAIN:
4333 case RETURNED_SQLSTATE:
4334 case RETURNING:
4335 case RETURNS:
4336 case REUSE:
4337 case REVERSE:
4338 case RIGHT:
4339 case ROLE:
4340 case ROLLBACK:
4341 case ROLLUP:
4342 case ROTATE:
4343 case ROUTINE:
4344 case ROW:
4345 case ROW_COUNT:
4346 case ROW_FORMAT:
4347 case ROW_NUMBER:
4348 case RTREE:
4349 case SAVEPOINT:
4350 case SCHEDULE:
4351 case SCHEMA:
4352 case SCHEMA_NAME:
4353 case SECOND:
4354 case SECONDARY:
4355 case SECONDARY_ENGINE:
4356 case SECONDARY_ENGINE_ATTRIBUTE:
4357 case SECONDARY_LOAD:
4358 case SECONDARY_UNLOAD:
4359 case SECURITY:
4360 case SERIAL:
4361 case SERIALIZABLE:
4362 case SERVER:
4363 case SESSION:
4364 case SHARE:
4365 case SHUTDOWN:
4366 case SIGNED:
4367 case SIMPLE:
4368 case SLAVE:
4369 case SLOW:
4370 case SNAPSHOT:
4371 case SOCKET:
4372 case SONAME:
4373 case SOUNDS:
4374 case SOURCE:
4375 case SQL_AFTER_GTIDS:
4376 case SQL_AFTER_MTS_GAPS:
4377 case SQL_BEFORE_GTIDS:
4378 case SQL_BUFFER_RESULT:
4379 case SQL_NO_CACHE:
4380 case SQL_THREAD:
4381 case SRID:
4382 case STACKED:
4383 case START:
4384 case STARTS:
4385 case STATS_AUTO_RECALC:
4386 case STATS_PERSISTENT:
4387 case STATS_SAMPLE_PAGES:
4388 case STATUS:
4389 case STOP:
4390 case STORAGE:
4391 case STREAM:
4392 case STRING:
4393 case SUBCLASS_ORIGIN:
4394 case SUBJECT:
4395 case SUBPARTITION:
4396 case SUBPARTITIONS:
4397 case SUPER:
4398 case SUSPEND:
4399 case SWAPS:
4400 case SWITCHES:
4401 case SYSTEM:
4402 case TABLE:
4403 case TABLES:
4404 case TABLESPACE:
4405 case TABLE_CHECKSUM:
4406 case TABLE_NAME:
4407 case TEMPORARY:
4408 case TEMPTABLE:
4409 case TEXT:
4410 case THAN:
4411 case THREAD_PRIORITY:
4412 case TIES:
4413 case TIME:
4414 case TIMESTAMP:
4415 case TIMESTAMP_ADD:
4416 case TIMESTAMP_DIFF:
4417 case TLS:
4418 case TRANSACTION:
4419 case TRIGGERS:
4420 case TRUE:
4421 case TRUNCATE:
4422 case TYPE:
4423 case TYPES:
4424 case UNBOUNDED:
4425 case UNCOMMITTED:
4426 case UNDEFINED:
4427 case UNDOFILE:
4428 case UNDO_BUFFER_SIZE:
4429 case UNICODE:
4430 case UNINSTALL:
4431 case UNKNOWN:
4432 case UNTIL:
4433 case UPGRADE:
4434 case USER:
4435 case USER_RESOURCES:
4436 case USE_FRM:
4437 case UTC_DATE:
4438 case UTC_TIME:
4439 case UTC_TIMESTAMP:
4440 case VALIDATION:
4441 case VALUE:
4442 case VALUES:
4443 case VARIABLES:
4444 case VCPU:
4445 case VIEW:
4446 case VISIBLE:
4447 case WAIT:
4448 case WARNINGS:
4449 case WEEK:
4450 case WEIGHT_STRING:
4451 case WITHOUT:
4452 case WORK:
4453 case WRAPPER:
4454 case X509:
4455 case XA:
4456 case XID:
4457 case XML:
4458 case YEAR:
4459 case YEAR_MONTH:
4460 case JSON_ARRAY:
4461 case JSON_ARRAY_APPEND:
4462 case JSON_ARRAY_INSERT:
4463 case JSON_CONTAINS:
4464 case JSON_CONTAINS_PATH:
4465 case JSON_DEPTH:
4466 case JSON_EXTRACT:
4467 case JSON_INSERT:
4468 case JSON_KEYS:
4469 case JSON_LENGTH:
4470 case JSON_MERGE:
4471 case JSON_MERGE_PATCH:
4472 case JSON_MERGE_PRESERVE:
4473 case JSON_OBJECT:
4474 case JSON_OVERLAPS:
4475 case JSON_PRETTY:
4476 case JSON_QUOTE:
4477 case JSON_REMOVE:
4478 case JSON_REPLACE:
4479 case JSON_SCHEMA_VALID:
4480 case JSON_SCHEMA_VALIDATION_REPORT:
4481 case JSON_SEARCH:
4482 case JSON_SET:
4483 case JSON_STORAGE_FREE:
4484 case JSON_STORAGE_SIZE:
4485 case JSON_TYPE:
4486 case JSON_UNQUOTE:
4487 case JSON_VALID:
4488 case SINGLE_QUOTED_TEXT:
4489 case DOUBLE_QUOTED_TEXT:
4490 case BQUOTA_STRING:
4491 case NCHAR_TEXT:
4492 case UNDERSCORE_CHARSET:
4493 case NUMBER_:
4494 case HEX_DIGIT_:
4495 case BIT_NUM_:
4496 case IDENTIFIER_:
4497 case IP_ADDRESS:
4498 {
4499 setState(893);
4500 projection();
4501 }
4502 break;
4503 default:
4504 throw new NoViableAltException(this);
4505 }
4506 setState(900);
4507 _errHandler.sync(this);
4508 _alt = getInterpreter().adaptivePredict(_input,78,_ctx);
4509 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
4510 if ( _alt==1 ) {
4511 {
4512 {
4513 setState(896);
4514 match(COMMA_);
4515 setState(897);
4516 projection();
4517 }
4518 }
4519 }
4520 setState(902);
4521 _errHandler.sync(this);
4522 _alt = getInterpreter().adaptivePredict(_input,78,_ctx);
4523 }
4524 }
4525 }
4526 catch (RecognitionException re) {
4527 _localctx.exception = re;
4528 _errHandler.reportError(this, re);
4529 _errHandler.recover(this, re);
4530 }
4531 finally {
4532 exitRule();
4533 }
4534 return _localctx;
4535 }
4536
4537 public static class ProjectionContext extends ParserRuleContext {
4538 public ExprContext expr() {
4539 return getRuleContext(ExprContext.class,0);
4540 }
4541 public AliasContext alias() {
4542 return getRuleContext(AliasContext.class,0);
4543 }
4544 public TerminalNode AS() { return getToken(HiveStatementParser.AS, 0); }
4545 public QualifiedShorthandContext qualifiedShorthand() {
4546 return getRuleContext(QualifiedShorthandContext.class,0);
4547 }
4548 public ProjectionContext(ParserRuleContext parent, int invokingState) {
4549 super(parent, invokingState);
4550 }
4551 @Override public int getRuleIndex() { return RULE_projection; }
4552 @Override
4553 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4554 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitProjection(this);
4555 else return visitor.visitChildren(this);
4556 }
4557 }
4558
4559 public final ProjectionContext projection() throws RecognitionException {
4560 ProjectionContext _localctx = new ProjectionContext(_ctx, getState());
4561 enterRule(_localctx, 76, RULE_projection);
4562 int _la;
4563 try {
4564 setState(911);
4565 _errHandler.sync(this);
4566 switch ( getInterpreter().adaptivePredict(_input,81,_ctx) ) {
4567 case 1:
4568 enterOuterAlt(_localctx, 1);
4569 {
4570 setState(903);
4571 expr(0);
4572 setState(908);
4573 _errHandler.sync(this);
4574 switch ( getInterpreter().adaptivePredict(_input,80,_ctx) ) {
4575 case 1:
4576 {
4577 setState(905);
4578 _errHandler.sync(this);
4579 _la = _input.LA(1);
4580 if (_la==AS) {
4581 {
4582 setState(904);
4583 match(AS);
4584 }
4585 }
4586
4587 setState(907);
4588 alias();
4589 }
4590 break;
4591 }
4592 }
4593 break;
4594 case 2:
4595 enterOuterAlt(_localctx, 2);
4596 {
4597 setState(910);
4598 qualifiedShorthand();
4599 }
4600 break;
4601 }
4602 }
4603 catch (RecognitionException re) {
4604 _localctx.exception = re;
4605 _errHandler.reportError(this, re);
4606 _errHandler.recover(this, re);
4607 }
4608 finally {
4609 exitRule();
4610 }
4611 return _localctx;
4612 }
4613
4614 public static class UnqualifiedShorthandContext extends ParserRuleContext {
4615 public TerminalNode ASTERISK_() { return getToken(HiveStatementParser.ASTERISK_, 0); }
4616 public UnqualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
4617 super(parent, invokingState);
4618 }
4619 @Override public int getRuleIndex() { return RULE_unqualifiedShorthand; }
4620 @Override
4621 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4622 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitUnqualifiedShorthand(this);
4623 else return visitor.visitChildren(this);
4624 }
4625 }
4626
4627 public final UnqualifiedShorthandContext unqualifiedShorthand() throws RecognitionException {
4628 UnqualifiedShorthandContext _localctx = new UnqualifiedShorthandContext(_ctx, getState());
4629 enterRule(_localctx, 78, RULE_unqualifiedShorthand);
4630 try {
4631 enterOuterAlt(_localctx, 1);
4632 {
4633 setState(913);
4634 match(ASTERISK_);
4635 }
4636 }
4637 catch (RecognitionException re) {
4638 _localctx.exception = re;
4639 _errHandler.reportError(this, re);
4640 _errHandler.recover(this, re);
4641 }
4642 finally {
4643 exitRule();
4644 }
4645 return _localctx;
4646 }
4647
4648 public static class QualifiedShorthandContext extends ParserRuleContext {
4649 public List<IdentifierContext> identifier() {
4650 return getRuleContexts(IdentifierContext.class);
4651 }
4652 public IdentifierContext identifier(int i) {
4653 return getRuleContext(IdentifierContext.class,i);
4654 }
4655 public TerminalNode DOT_ASTERISK_() { return getToken(HiveStatementParser.DOT_ASTERISK_, 0); }
4656 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
4657 public QualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
4658 super(parent, invokingState);
4659 }
4660 @Override public int getRuleIndex() { return RULE_qualifiedShorthand; }
4661 @Override
4662 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4663 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitQualifiedShorthand(this);
4664 else return visitor.visitChildren(this);
4665 }
4666 }
4667
4668 public final QualifiedShorthandContext qualifiedShorthand() throws RecognitionException {
4669 QualifiedShorthandContext _localctx = new QualifiedShorthandContext(_ctx, getState());
4670 enterRule(_localctx, 80, RULE_qualifiedShorthand);
4671 try {
4672 enterOuterAlt(_localctx, 1);
4673 {
4674 setState(918);
4675 _errHandler.sync(this);
4676 switch ( getInterpreter().adaptivePredict(_input,82,_ctx) ) {
4677 case 1:
4678 {
4679 setState(915);
4680 identifier();
4681 setState(916);
4682 match(DOT_);
4683 }
4684 break;
4685 }
4686 setState(920);
4687 identifier();
4688 setState(921);
4689 match(DOT_ASTERISK_);
4690 }
4691 }
4692 catch (RecognitionException re) {
4693 _localctx.exception = re;
4694 _errHandler.reportError(this, re);
4695 _errHandler.recover(this, re);
4696 }
4697 finally {
4698 exitRule();
4699 }
4700 return _localctx;
4701 }
4702
4703 public static class FromClauseContext extends ParserRuleContext {
4704 public TerminalNode FROM() { return getToken(HiveStatementParser.FROM, 0); }
4705 public TerminalNode DUAL() { return getToken(HiveStatementParser.DUAL, 0); }
4706 public TableReferencesContext tableReferences() {
4707 return getRuleContext(TableReferencesContext.class,0);
4708 }
4709 public FromClauseContext(ParserRuleContext parent, int invokingState) {
4710 super(parent, invokingState);
4711 }
4712 @Override public int getRuleIndex() { return RULE_fromClause; }
4713 @Override
4714 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4715 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFromClause(this);
4716 else return visitor.visitChildren(this);
4717 }
4718 }
4719
4720 public final FromClauseContext fromClause() throws RecognitionException {
4721 FromClauseContext _localctx = new FromClauseContext(_ctx, getState());
4722 enterRule(_localctx, 82, RULE_fromClause);
4723 try {
4724 enterOuterAlt(_localctx, 1);
4725 {
4726 setState(923);
4727 match(FROM);
4728 setState(926);
4729 _errHandler.sync(this);
4730 switch (_input.LA(1)) {
4731 case DUAL:
4732 {
4733 setState(924);
4734 match(DUAL);
4735 }
4736 break;
4737 case LP_:
4738 case LBE_:
4739 case MAX:
4740 case MIN:
4741 case SUM:
4742 case COUNT:
4743 case GROUP_CONCAT:
4744 case CAST:
4745 case POSITION:
4746 case SUBSTRING:
4747 case SUBSTR:
4748 case EXTRACT:
4749 case TRIM:
4750 case LAST_DAY:
4751 case TRADITIONAL:
4752 case TREE:
4753 case MYSQL_MAIN:
4754 case MYSQL_ADMIN:
4755 case INSTANT:
4756 case INPLACE:
4757 case COPY:
4758 case UL_BINARY:
4759 case AUTOCOMMIT:
4760 case INNODB:
4761 case REDO_LOG:
4762 case ACCOUNT:
4763 case ACTION:
4764 case ACTIVE:
4765 case ADMIN:
4766 case AFTER:
4767 case AGAINST:
4768 case AGGREGATE:
4769 case ALGORITHM:
4770 case ALWAYS:
4771 case ANY:
4772 case ARRAY:
4773 case ASCII:
4774 case AT:
4775 case ATTRIBUTE:
4776 case AUTOEXTEND_SIZE:
4777 case AUTO_INCREMENT:
4778 case AVG:
4779 case BIT_XOR:
4780 case AVG_ROW_LENGTH:
4781 case BACKUP:
4782 case BEGIN:
4783 case BINLOG:
4784 case BIT:
4785 case BLOCK:
4786 case BOOL:
4787 case BOOLEAN:
4788 case BTREE:
4789 case BUCKETS:
4790 case BYTE:
4791 case CACHE:
4792 case CASCADED:
4793 case CATALOG_NAME:
4794 case CHAIN:
4795 case CHANGED:
4796 case CHANNEL:
4797 case CHARSET:
4798 case CHECKSUM:
4799 case CIPHER:
4800 case CLASS_ORIGIN:
4801 case CLIENT:
4802 case CLONE:
4803 case CLOSE:
4804 case COALESCE:
4805 case CODE:
4806 case COLLATION:
4807 case COLUMNS:
4808 case COLUMN_FORMAT:
4809 case COLUMN_NAME:
4810 case COMMENT:
4811 case COMMIT:
4812 case COMMITTED:
4813 case COMPACT:
4814 case COMPLETION:
4815 case COMPONENT:
4816 case COMPRESSED:
4817 case COMPRESSION:
4818 case CONCURRENT:
4819 case CONNECTION:
4820 case CONSISTENT:
4821 case CONSTRAINT_CATALOG:
4822 case CONSTRAINT_NAME:
4823 case CONSTRAINT_SCHEMA:
4824 case CONTAINS:
4825 case CONTEXT:
4826 case CPU:
4827 case CREATE:
4828 case CURRENT:
4829 case CURSOR_NAME:
4830 case DATA:
4831 case DATAFILE:
4832 case DATE:
4833 case DATETIME:
4834 case DAY:
4835 case DAY_MINUTE:
4836 case DEALLOCATE:
4837 case DEFAULT_AUTH:
4838 case DEFINER:
4839 case DEFINITION:
4840 case DELAY_KEY_WRITE:
4841 case DESCRIPTION:
4842 case DIAGNOSTICS:
4843 case DIRECTORY:
4844 case DISABLE:
4845 case DISCARD:
4846 case DISK:
4847 case DO:
4848 case DUMPFILE:
4849 case DUPLICATE:
4850 case DYNAMIC:
4851 case ENABLE:
4852 case ENCRYPTION:
4853 case END:
4854 case ENDS:
4855 case ENFORCED:
4856 case ENGINE:
4857 case ENGINES:
4858 case ENGINE_ATTRIBUTE:
4859 case ENUM:
4860 case ERROR:
4861 case ERRORS:
4862 case ESCAPE:
4863 case EVENT:
4864 case EVENTS:
4865 case EVERY:
4866 case EXCHANGE:
4867 case EXCLUDE:
4868 case EXECUTE:
4869 case EXPANSION:
4870 case EXPIRE:
4871 case EXPORT:
4872 case EXTENDED:
4873 case EXTENT_SIZE:
4874 case FAILED_LOGIN_ATTEMPTS:
4875 case FAST:
4876 case FAULTS:
4877 case FILE:
4878 case FILE_BLOCK_SIZE:
4879 case FILTER:
4880 case FIRST:
4881 case FIXED:
4882 case FLUSH:
4883 case FOLLOWING:
4884 case FOLLOWS:
4885 case FORMAT:
4886 case FOUND:
4887 case FULL:
4888 case GENERAL:
4889 case GEOMETRY:
4890 case GEOMETRYCOLLECTION:
4891 case GET_FORMAT:
4892 case GET_MASTER_PUBLIC_KEY:
4893 case GLOBAL:
4894 case GRANTS:
4895 case GROUP_REPLICATION:
4896 case HANDLER:
4897 case HASH:
4898 case HELP:
4899 case HISTOGRAM:
4900 case HISTORY:
4901 case HOST:
4902 case HOSTS:
4903 case HOUR:
4904 case IDENTIFIED:
4905 case IGNORE_SERVER_IDS:
4906 case IMPORT:
4907 case INACTIVE:
4908 case INDEXES:
4909 case INITIAL_SIZE:
4910 case INSERT_METHOD:
4911 case INSTALL:
4912 case INSTANCE:
4913 case INVISIBLE:
4914 case INVOKER:
4915 case IO:
4916 case IPC:
4917 case ISOLATION:
4918 case ISSUER:
4919 case JSON:
4920 case JSON_VALUE:
4921 case KEY:
4922 case KEY_BLOCK_SIZE:
4923 case LANGUAGE:
4924 case LAST:
4925 case LAST_VALUE:
4926 case LEAVES:
4927 case LESS:
4928 case LEVEL:
4929 case LINESTRING:
4930 case LIST:
4931 case LOCAL:
4932 case LOCKED:
4933 case LOCKS:
4934 case LOGFILE:
4935 case LOGS:
4936 case MASTER:
4937 case MASTER_AUTO_POSITION:
4938 case MASTER_COMPRESSION_ALGORITHM:
4939 case MASTER_CONNECT_RETRY:
4940 case MASTER_DELAY:
4941 case MASTER_HEARTBEAT_PERIOD:
4942 case MASTER_HOST:
4943 case MASTER_LOG_FILE:
4944 case MASTER_LOG_POS:
4945 case MASTER_PASSWORD:
4946 case MASTER_PORT:
4947 case MASTER_PUBLIC_KEY_PATH:
4948 case MASTER_RETRY_COUNT:
4949 case MASTER_SERVER_ID:
4950 case MASTER_SSL:
4951 case MASTER_SSL_CA:
4952 case MASTER_SSL_CAPATH:
4953 case MASTER_SSL_CERT:
4954 case MASTER_SSL_CIPHER:
4955 case MASTER_SSL_CRL:
4956 case MASTER_SSL_CRLPATH:
4957 case MASTER_SSL_KEY:
4958 case MASTER_TLS_CIPHERSUITES:
4959 case MASTER_TLS_VERSION:
4960 case MASTER_USER:
4961 case MASTER_ZSTD_COMPRESSION_LEVEL:
4962 case MAXVALUE:
4963 case MAX_CONNECTIONS_PER_HOUR:
4964 case MAX_QUERIES_PER_HOUR:
4965 case MAX_ROWS:
4966 case MAX_SIZE:
4967 case MAX_UPDATES_PER_HOUR:
4968 case MAX_USER_CONNECTIONS:
4969 case MEDIUM:
4970 case MEMBER:
4971 case MEMORY:
4972 case MERGE:
4973 case MESSAGE_TEXT:
4974 case MICROSECOND:
4975 case MIGRATE:
4976 case MINUTE:
4977 case MIN_ROWS:
4978 case MODE:
4979 case MODIFY:
4980 case MONTH:
4981 case MULTILINESTRING:
4982 case MULTIPOINT:
4983 case MULTIPOLYGON:
4984 case MUTEX:
4985 case MYSQL_ERRNO:
4986 case NAME:
4987 case NAMES:
4988 case NATIONAL:
4989 case NCHAR:
4990 case NDBCLUSTER:
4991 case NESTED:
4992 case NETWORK_NAMESPACE:
4993 case NEVER:
4994 case NEW:
4995 case NEXT:
4996 case NO:
4997 case NODEGROUP:
4998 case NONE:
4999 case NOWAIT:
5000 case NO_WAIT:
5001 case NULLS:
5002 case NUMBER:
5003 case NVARCHAR:
5004 case OFF:
5005 case OFFSET:
5006 case OJ:
5007 case OLD:
5008 case ONE:
5009 case ONLY:
5010 case OPEN:
5011 case OPTIONAL:
5012 case OPTIONS:
5013 case ORDINALITY:
5014 case ORGANIZATION:
5015 case OTHERS:
5016 case OWNER:
5017 case PACK_KEYS:
5018 case PAGE:
5019 case PARSER:
5020 case PARTIAL:
5021 case PARTITIONING:
5022 case PARTITIONS:
5023 case PASSWORD:
5024 case PASSWORD_LOCK_TIME:
5025 case PATH:
5026 case PERSIST:
5027 case PERSIST_ONLY:
5028 case PHASE:
5029 case PLUGIN:
5030 case PLUGINS:
5031 case PLUGIN_DIR:
5032 case POINT:
5033 case POLYGON:
5034 case PORT:
5035 case PRECEDES:
5036 case PRECEDING:
5037 case PREPARE:
5038 case PRESERVE:
5039 case PREV:
5040 case PRIMARY:
5041 case PRIVILEGES:
5042 case PRIVILEGE_CHECKS_USER:
5043 case PROCESS:
5044 case PROCESSLIST:
5045 case PROFILE:
5046 case PROFILES:
5047 case PROXY:
5048 case QUARTER:
5049 case QUERY:
5050 case QUICK:
5051 case RANDOM:
5052 case READ_ONLY:
5053 case REBUILD:
5054 case RECOVER:
5055 case REDO_BUFFER_SIZE:
5056 case REDUNDANT:
5057 case REFERENCE:
5058 case RELAY:
5059 case RELAYLOG:
5060 case RELAY_LOG_FILE:
5061 case RELAY_LOG_POS:
5062 case RELAY_THREAD:
5063 case RELOAD:
5064 case REMOVE:
5065 case REORGANIZE:
5066 case REPAIR:
5067 case REPEATABLE:
5068 case REPLICATE_DO_DB:
5069 case REPLICATE_DO_TABLE:
5070 case REPLICATE_IGNORE_DB:
5071 case REPLICATE_IGNORE_TABLE:
5072 case REPLICATE_REWRITE_DB:
5073 case REPLICATE_WILD_DO_TABLE:
5074 case REPLICATE_WILD_IGNORE_TABLE:
5075 case REPLICATION:
5076 case REQUIRE_ROW_FORMAT:
5077 case RESET:
5078 case RESOURCE:
5079 case RESPECT:
5080 case RESTART:
5081 case RESTORE:
5082 case RESUME:
5083 case RETAIN:
5084 case RETURNED_SQLSTATE:
5085 case RETURNING:
5086 case RETURNS:
5087 case REUSE:
5088 case REVERSE:
5089 case ROLE:
5090 case ROLLBACK:
5091 case ROLLUP:
5092 case ROTATE:
5093 case ROUTINE:
5094 case ROW_COUNT:
5095 case ROW_FORMAT:
5096 case RTREE:
5097 case SAVEPOINT:
5098 case SCHEDULE:
5099 case SCHEMA_NAME:
5100 case SECOND:
5101 case SECONDARY:
5102 case SECONDARY_ENGINE:
5103 case SECONDARY_ENGINE_ATTRIBUTE:
5104 case SECONDARY_LOAD:
5105 case SECONDARY_UNLOAD:
5106 case SECURITY:
5107 case SERIAL:
5108 case SERIALIZABLE:
5109 case SERVER:
5110 case SESSION:
5111 case SHARE:
5112 case SHUTDOWN:
5113 case SIGNED:
5114 case SIMPLE:
5115 case SLAVE:
5116 case SLOW:
5117 case SNAPSHOT:
5118 case SOCKET:
5119 case SONAME:
5120 case SOUNDS:
5121 case SOURCE:
5122 case SQL_AFTER_GTIDS:
5123 case SQL_AFTER_MTS_GAPS:
5124 case SQL_BEFORE_GTIDS:
5125 case SQL_BUFFER_RESULT:
5126 case SQL_NO_CACHE:
5127 case SQL_THREAD:
5128 case SRID:
5129 case STACKED:
5130 case START:
5131 case STARTS:
5132 case STATS_AUTO_RECALC:
5133 case STATS_PERSISTENT:
5134 case STATS_SAMPLE_PAGES:
5135 case STATUS:
5136 case STOP:
5137 case STORAGE:
5138 case STREAM:
5139 case STRING:
5140 case SUBCLASS_ORIGIN:
5141 case SUBJECT:
5142 case SUBPARTITION:
5143 case SUBPARTITIONS:
5144 case SUPER:
5145 case SUSPEND:
5146 case SWAPS:
5147 case SWITCHES:
5148 case SYSTEM:
5149 case TABLE:
5150 case TABLES:
5151 case TABLESPACE:
5152 case TABLE_CHECKSUM:
5153 case TABLE_NAME:
5154 case TEMPORARY:
5155 case TEMPTABLE:
5156 case TEXT:
5157 case THAN:
5158 case THREAD_PRIORITY:
5159 case TIES:
5160 case TIME:
5161 case TIMESTAMP:
5162 case TIMESTAMP_ADD:
5163 case TIMESTAMP_DIFF:
5164 case TLS:
5165 case TRANSACTION:
5166 case TRIGGERS:
5167 case TRUNCATE:
5168 case TYPE:
5169 case TYPES:
5170 case UNBOUNDED:
5171 case UNCOMMITTED:
5172 case UNDEFINED:
5173 case UNDOFILE:
5174 case UNDO_BUFFER_SIZE:
5175 case UNICODE:
5176 case UNINSTALL:
5177 case UNKNOWN:
5178 case UNTIL:
5179 case UPGRADE:
5180 case USER:
5181 case USER_RESOURCES:
5182 case USE_FRM:
5183 case UTC_DATE:
5184 case UTC_TIME:
5185 case UTC_TIMESTAMP:
5186 case VALIDATION:
5187 case VALUE:
5188 case VARIABLES:
5189 case VCPU:
5190 case VIEW:
5191 case VISIBLE:
5192 case WAIT:
5193 case WARNINGS:
5194 case WEEK:
5195 case WEIGHT_STRING:
5196 case WITHOUT:
5197 case WORK:
5198 case WRAPPER:
5199 case X509:
5200 case XA:
5201 case XID:
5202 case XML:
5203 case YEAR:
5204 case YEAR_MONTH:
5205 case DOUBLE_QUOTED_TEXT:
5206 case BQUOTA_STRING:
5207 case UNDERSCORE_CHARSET:
5208 case IDENTIFIER_:
5209 {
5210 setState(925);
5211 tableReferences();
5212 }
5213 break;
5214 default:
5215 throw new NoViableAltException(this);
5216 }
5217 }
5218 }
5219 catch (RecognitionException re) {
5220 _localctx.exception = re;
5221 _errHandler.reportError(this, re);
5222 _errHandler.recover(this, re);
5223 }
5224 finally {
5225 exitRule();
5226 }
5227 return _localctx;
5228 }
5229
5230 public static class TableReferencesContext extends ParserRuleContext {
5231 public List<TableReferenceContext> tableReference() {
5232 return getRuleContexts(TableReferenceContext.class);
5233 }
5234 public TableReferenceContext tableReference(int i) {
5235 return getRuleContext(TableReferenceContext.class,i);
5236 }
5237 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
5238 public TerminalNode COMMA_(int i) {
5239 return getToken(HiveStatementParser.COMMA_, i);
5240 }
5241 public TableReferencesContext(ParserRuleContext parent, int invokingState) {
5242 super(parent, invokingState);
5243 }
5244 @Override public int getRuleIndex() { return RULE_tableReferences; }
5245 @Override
5246 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5247 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableReferences(this);
5248 else return visitor.visitChildren(this);
5249 }
5250 }
5251
5252 public final TableReferencesContext tableReferences() throws RecognitionException {
5253 TableReferencesContext _localctx = new TableReferencesContext(_ctx, getState());
5254 enterRule(_localctx, 84, RULE_tableReferences);
5255 try {
5256 int _alt;
5257 enterOuterAlt(_localctx, 1);
5258 {
5259 setState(928);
5260 tableReference();
5261 setState(933);
5262 _errHandler.sync(this);
5263 _alt = getInterpreter().adaptivePredict(_input,84,_ctx);
5264 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
5265 if ( _alt==1 ) {
5266 {
5267 {
5268 setState(929);
5269 match(COMMA_);
5270 setState(930);
5271 tableReference();
5272 }
5273 }
5274 }
5275 setState(935);
5276 _errHandler.sync(this);
5277 _alt = getInterpreter().adaptivePredict(_input,84,_ctx);
5278 }
5279 }
5280 }
5281 catch (RecognitionException re) {
5282 _localctx.exception = re;
5283 _errHandler.reportError(this, re);
5284 _errHandler.recover(this, re);
5285 }
5286 finally {
5287 exitRule();
5288 }
5289 return _localctx;
5290 }
5291
5292 public static class EscapedTableReferenceContext extends ParserRuleContext {
5293 public TableFactorContext tableFactor() {
5294 return getRuleContext(TableFactorContext.class,0);
5295 }
5296 public List<JoinedTableContext> joinedTable() {
5297 return getRuleContexts(JoinedTableContext.class);
5298 }
5299 public JoinedTableContext joinedTable(int i) {
5300 return getRuleContext(JoinedTableContext.class,i);
5301 }
5302 public EscapedTableReferenceContext(ParserRuleContext parent, int invokingState) {
5303 super(parent, invokingState);
5304 }
5305 @Override public int getRuleIndex() { return RULE_escapedTableReference; }
5306 @Override
5307 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5308 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitEscapedTableReference(this);
5309 else return visitor.visitChildren(this);
5310 }
5311 }
5312
5313 public final EscapedTableReferenceContext escapedTableReference() throws RecognitionException {
5314 EscapedTableReferenceContext _localctx = new EscapedTableReferenceContext(_ctx, getState());
5315 enterRule(_localctx, 86, RULE_escapedTableReference);
5316 int _la;
5317 try {
5318 enterOuterAlt(_localctx, 1);
5319 {
5320 setState(936);
5321 tableFactor();
5322 setState(940);
5323 _errHandler.sync(this);
5324 _la = _input.LA(1);
5325 while (_la==CROSS || ((((_la - 323)) & ~0x3f) == 0 && ((1L << (_la - 323)) & ((1L << (INNER - 323)) | (1L << (JOIN - 323)) | (1L << (LEFT - 323)))) != 0) || _la==NATURAL || _la==RIGHT || _la==STRAIGHT_JOIN) {
5326 {
5327 {
5328 setState(937);
5329 joinedTable();
5330 }
5331 }
5332 setState(942);
5333 _errHandler.sync(this);
5334 _la = _input.LA(1);
5335 }
5336 }
5337 }
5338 catch (RecognitionException re) {
5339 _localctx.exception = re;
5340 _errHandler.reportError(this, re);
5341 _errHandler.recover(this, re);
5342 }
5343 finally {
5344 exitRule();
5345 }
5346 return _localctx;
5347 }
5348
5349 public static class TableReferenceContext extends ParserRuleContext {
5350 public TableFactorContext tableFactor() {
5351 return getRuleContext(TableFactorContext.class,0);
5352 }
5353 public TerminalNode LBE_() { return getToken(HiveStatementParser.LBE_, 0); }
5354 public TerminalNode OJ() { return getToken(HiveStatementParser.OJ, 0); }
5355 public EscapedTableReferenceContext escapedTableReference() {
5356 return getRuleContext(EscapedTableReferenceContext.class,0);
5357 }
5358 public TerminalNode RBE_() { return getToken(HiveStatementParser.RBE_, 0); }
5359 public List<JoinedTableContext> joinedTable() {
5360 return getRuleContexts(JoinedTableContext.class);
5361 }
5362 public JoinedTableContext joinedTable(int i) {
5363 return getRuleContext(JoinedTableContext.class,i);
5364 }
5365 public TableReferenceContext(ParserRuleContext parent, int invokingState) {
5366 super(parent, invokingState);
5367 }
5368 @Override public int getRuleIndex() { return RULE_tableReference; }
5369 @Override
5370 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5371 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableReference(this);
5372 else return visitor.visitChildren(this);
5373 }
5374 }
5375
5376 public final TableReferenceContext tableReference() throws RecognitionException {
5377 TableReferenceContext _localctx = new TableReferenceContext(_ctx, getState());
5378 enterRule(_localctx, 88, RULE_tableReference);
5379 try {
5380 int _alt;
5381 enterOuterAlt(_localctx, 1);
5382 {
5383 setState(949);
5384 _errHandler.sync(this);
5385 switch (_input.LA(1)) {
5386 case LP_:
5387 case MAX:
5388 case MIN:
5389 case SUM:
5390 case COUNT:
5391 case GROUP_CONCAT:
5392 case CAST:
5393 case POSITION:
5394 case SUBSTRING:
5395 case SUBSTR:
5396 case EXTRACT:
5397 case TRIM:
5398 case LAST_DAY:
5399 case TRADITIONAL:
5400 case TREE:
5401 case MYSQL_MAIN:
5402 case MYSQL_ADMIN:
5403 case INSTANT:
5404 case INPLACE:
5405 case COPY:
5406 case UL_BINARY:
5407 case AUTOCOMMIT:
5408 case INNODB:
5409 case REDO_LOG:
5410 case ACCOUNT:
5411 case ACTION:
5412 case ACTIVE:
5413 case ADMIN:
5414 case AFTER:
5415 case AGAINST:
5416 case AGGREGATE:
5417 case ALGORITHM:
5418 case ALWAYS:
5419 case ANY:
5420 case ARRAY:
5421 case ASCII:
5422 case AT:
5423 case ATTRIBUTE:
5424 case AUTOEXTEND_SIZE:
5425 case AUTO_INCREMENT:
5426 case AVG:
5427 case BIT_XOR:
5428 case AVG_ROW_LENGTH:
5429 case BACKUP:
5430 case BEGIN:
5431 case BINLOG:
5432 case BIT:
5433 case BLOCK:
5434 case BOOL:
5435 case BOOLEAN:
5436 case BTREE:
5437 case BUCKETS:
5438 case BYTE:
5439 case CACHE:
5440 case CASCADED:
5441 case CATALOG_NAME:
5442 case CHAIN:
5443 case CHANGED:
5444 case CHANNEL:
5445 case CHARSET:
5446 case CHECKSUM:
5447 case CIPHER:
5448 case CLASS_ORIGIN:
5449 case CLIENT:
5450 case CLONE:
5451 case CLOSE:
5452 case COALESCE:
5453 case CODE:
5454 case COLLATION:
5455 case COLUMNS:
5456 case COLUMN_FORMAT:
5457 case COLUMN_NAME:
5458 case COMMENT:
5459 case COMMIT:
5460 case COMMITTED:
5461 case COMPACT:
5462 case COMPLETION:
5463 case COMPONENT:
5464 case COMPRESSED:
5465 case COMPRESSION:
5466 case CONCURRENT:
5467 case CONNECTION:
5468 case CONSISTENT:
5469 case CONSTRAINT_CATALOG:
5470 case CONSTRAINT_NAME:
5471 case CONSTRAINT_SCHEMA:
5472 case CONTAINS:
5473 case CONTEXT:
5474 case CPU:
5475 case CREATE:
5476 case CURRENT:
5477 case CURSOR_NAME:
5478 case DATA:
5479 case DATAFILE:
5480 case DATE:
5481 case DATETIME:
5482 case DAY:
5483 case DAY_MINUTE:
5484 case DEALLOCATE:
5485 case DEFAULT_AUTH:
5486 case DEFINER:
5487 case DEFINITION:
5488 case DELAY_KEY_WRITE:
5489 case DESCRIPTION:
5490 case DIAGNOSTICS:
5491 case DIRECTORY:
5492 case DISABLE:
5493 case DISCARD:
5494 case DISK:
5495 case DO:
5496 case DUMPFILE:
5497 case DUPLICATE:
5498 case DYNAMIC:
5499 case ENABLE:
5500 case ENCRYPTION:
5501 case END:
5502 case ENDS:
5503 case ENFORCED:
5504 case ENGINE:
5505 case ENGINES:
5506 case ENGINE_ATTRIBUTE:
5507 case ENUM:
5508 case ERROR:
5509 case ERRORS:
5510 case ESCAPE:
5511 case EVENT:
5512 case EVENTS:
5513 case EVERY:
5514 case EXCHANGE:
5515 case EXCLUDE:
5516 case EXECUTE:
5517 case EXPANSION:
5518 case EXPIRE:
5519 case EXPORT:
5520 case EXTENDED:
5521 case EXTENT_SIZE:
5522 case FAILED_LOGIN_ATTEMPTS:
5523 case FAST:
5524 case FAULTS:
5525 case FILE:
5526 case FILE_BLOCK_SIZE:
5527 case FILTER:
5528 case FIRST:
5529 case FIXED:
5530 case FLUSH:
5531 case FOLLOWING:
5532 case FOLLOWS:
5533 case FORMAT:
5534 case FOUND:
5535 case FULL:
5536 case GENERAL:
5537 case GEOMETRY:
5538 case GEOMETRYCOLLECTION:
5539 case GET_FORMAT:
5540 case GET_MASTER_PUBLIC_KEY:
5541 case GLOBAL:
5542 case GRANTS:
5543 case GROUP_REPLICATION:
5544 case HANDLER:
5545 case HASH:
5546 case HELP:
5547 case HISTOGRAM:
5548 case HISTORY:
5549 case HOST:
5550 case HOSTS:
5551 case HOUR:
5552 case IDENTIFIED:
5553 case IGNORE_SERVER_IDS:
5554 case IMPORT:
5555 case INACTIVE:
5556 case INDEXES:
5557 case INITIAL_SIZE:
5558 case INSERT_METHOD:
5559 case INSTALL:
5560 case INSTANCE:
5561 case INVISIBLE:
5562 case INVOKER:
5563 case IO:
5564 case IPC:
5565 case ISOLATION:
5566 case ISSUER:
5567 case JSON:
5568 case JSON_VALUE:
5569 case KEY:
5570 case KEY_BLOCK_SIZE:
5571 case LANGUAGE:
5572 case LAST:
5573 case LAST_VALUE:
5574 case LEAVES:
5575 case LESS:
5576 case LEVEL:
5577 case LINESTRING:
5578 case LIST:
5579 case LOCAL:
5580 case LOCKED:
5581 case LOCKS:
5582 case LOGFILE:
5583 case LOGS:
5584 case MASTER:
5585 case MASTER_AUTO_POSITION:
5586 case MASTER_COMPRESSION_ALGORITHM:
5587 case MASTER_CONNECT_RETRY:
5588 case MASTER_DELAY:
5589 case MASTER_HEARTBEAT_PERIOD:
5590 case MASTER_HOST:
5591 case MASTER_LOG_FILE:
5592 case MASTER_LOG_POS:
5593 case MASTER_PASSWORD:
5594 case MASTER_PORT:
5595 case MASTER_PUBLIC_KEY_PATH:
5596 case MASTER_RETRY_COUNT:
5597 case MASTER_SERVER_ID:
5598 case MASTER_SSL:
5599 case MASTER_SSL_CA:
5600 case MASTER_SSL_CAPATH:
5601 case MASTER_SSL_CERT:
5602 case MASTER_SSL_CIPHER:
5603 case MASTER_SSL_CRL:
5604 case MASTER_SSL_CRLPATH:
5605 case MASTER_SSL_KEY:
5606 case MASTER_TLS_CIPHERSUITES:
5607 case MASTER_TLS_VERSION:
5608 case MASTER_USER:
5609 case MASTER_ZSTD_COMPRESSION_LEVEL:
5610 case MAXVALUE:
5611 case MAX_CONNECTIONS_PER_HOUR:
5612 case MAX_QUERIES_PER_HOUR:
5613 case MAX_ROWS:
5614 case MAX_SIZE:
5615 case MAX_UPDATES_PER_HOUR:
5616 case MAX_USER_CONNECTIONS:
5617 case MEDIUM:
5618 case MEMBER:
5619 case MEMORY:
5620 case MERGE:
5621 case MESSAGE_TEXT:
5622 case MICROSECOND:
5623 case MIGRATE:
5624 case MINUTE:
5625 case MIN_ROWS:
5626 case MODE:
5627 case MODIFY:
5628 case MONTH:
5629 case MULTILINESTRING:
5630 case MULTIPOINT:
5631 case MULTIPOLYGON:
5632 case MUTEX:
5633 case MYSQL_ERRNO:
5634 case NAME:
5635 case NAMES:
5636 case NATIONAL:
5637 case NCHAR:
5638 case NDBCLUSTER:
5639 case NESTED:
5640 case NETWORK_NAMESPACE:
5641 case NEVER:
5642 case NEW:
5643 case NEXT:
5644 case NO:
5645 case NODEGROUP:
5646 case NONE:
5647 case NOWAIT:
5648 case NO_WAIT:
5649 case NULLS:
5650 case NUMBER:
5651 case NVARCHAR:
5652 case OFF:
5653 case OFFSET:
5654 case OJ:
5655 case OLD:
5656 case ONE:
5657 case ONLY:
5658 case OPEN:
5659 case OPTIONAL:
5660 case OPTIONS:
5661 case ORDINALITY:
5662 case ORGANIZATION:
5663 case OTHERS:
5664 case OWNER:
5665 case PACK_KEYS:
5666 case PAGE:
5667 case PARSER:
5668 case PARTIAL:
5669 case PARTITIONING:
5670 case PARTITIONS:
5671 case PASSWORD:
5672 case PASSWORD_LOCK_TIME:
5673 case PATH:
5674 case PERSIST:
5675 case PERSIST_ONLY:
5676 case PHASE:
5677 case PLUGIN:
5678 case PLUGINS:
5679 case PLUGIN_DIR:
5680 case POINT:
5681 case POLYGON:
5682 case PORT:
5683 case PRECEDES:
5684 case PRECEDING:
5685 case PREPARE:
5686 case PRESERVE:
5687 case PREV:
5688 case PRIMARY:
5689 case PRIVILEGES:
5690 case PRIVILEGE_CHECKS_USER:
5691 case PROCESS:
5692 case PROCESSLIST:
5693 case PROFILE:
5694 case PROFILES:
5695 case PROXY:
5696 case QUARTER:
5697 case QUERY:
5698 case QUICK:
5699 case RANDOM:
5700 case READ_ONLY:
5701 case REBUILD:
5702 case RECOVER:
5703 case REDO_BUFFER_SIZE:
5704 case REDUNDANT:
5705 case REFERENCE:
5706 case RELAY:
5707 case RELAYLOG:
5708 case RELAY_LOG_FILE:
5709 case RELAY_LOG_POS:
5710 case RELAY_THREAD:
5711 case RELOAD:
5712 case REMOVE:
5713 case REORGANIZE:
5714 case REPAIR:
5715 case REPEATABLE:
5716 case REPLICATE_DO_DB:
5717 case REPLICATE_DO_TABLE:
5718 case REPLICATE_IGNORE_DB:
5719 case REPLICATE_IGNORE_TABLE:
5720 case REPLICATE_REWRITE_DB:
5721 case REPLICATE_WILD_DO_TABLE:
5722 case REPLICATE_WILD_IGNORE_TABLE:
5723 case REPLICATION:
5724 case REQUIRE_ROW_FORMAT:
5725 case RESET:
5726 case RESOURCE:
5727 case RESPECT:
5728 case RESTART:
5729 case RESTORE:
5730 case RESUME:
5731 case RETAIN:
5732 case RETURNED_SQLSTATE:
5733 case RETURNING:
5734 case RETURNS:
5735 case REUSE:
5736 case REVERSE:
5737 case ROLE:
5738 case ROLLBACK:
5739 case ROLLUP:
5740 case ROTATE:
5741 case ROUTINE:
5742 case ROW_COUNT:
5743 case ROW_FORMAT:
5744 case RTREE:
5745 case SAVEPOINT:
5746 case SCHEDULE:
5747 case SCHEMA_NAME:
5748 case SECOND:
5749 case SECONDARY:
5750 case SECONDARY_ENGINE:
5751 case SECONDARY_ENGINE_ATTRIBUTE:
5752 case SECONDARY_LOAD:
5753 case SECONDARY_UNLOAD:
5754 case SECURITY:
5755 case SERIAL:
5756 case SERIALIZABLE:
5757 case SERVER:
5758 case SESSION:
5759 case SHARE:
5760 case SHUTDOWN:
5761 case SIGNED:
5762 case SIMPLE:
5763 case SLAVE:
5764 case SLOW:
5765 case SNAPSHOT:
5766 case SOCKET:
5767 case SONAME:
5768 case SOUNDS:
5769 case SOURCE:
5770 case SQL_AFTER_GTIDS:
5771 case SQL_AFTER_MTS_GAPS:
5772 case SQL_BEFORE_GTIDS:
5773 case SQL_BUFFER_RESULT:
5774 case SQL_NO_CACHE:
5775 case SQL_THREAD:
5776 case SRID:
5777 case STACKED:
5778 case START:
5779 case STARTS:
5780 case STATS_AUTO_RECALC:
5781 case STATS_PERSISTENT:
5782 case STATS_SAMPLE_PAGES:
5783 case STATUS:
5784 case STOP:
5785 case STORAGE:
5786 case STREAM:
5787 case STRING:
5788 case SUBCLASS_ORIGIN:
5789 case SUBJECT:
5790 case SUBPARTITION:
5791 case SUBPARTITIONS:
5792 case SUPER:
5793 case SUSPEND:
5794 case SWAPS:
5795 case SWITCHES:
5796 case SYSTEM:
5797 case TABLE:
5798 case TABLES:
5799 case TABLESPACE:
5800 case TABLE_CHECKSUM:
5801 case TABLE_NAME:
5802 case TEMPORARY:
5803 case TEMPTABLE:
5804 case TEXT:
5805 case THAN:
5806 case THREAD_PRIORITY:
5807 case TIES:
5808 case TIME:
5809 case TIMESTAMP:
5810 case TIMESTAMP_ADD:
5811 case TIMESTAMP_DIFF:
5812 case TLS:
5813 case TRANSACTION:
5814 case TRIGGERS:
5815 case TRUNCATE:
5816 case TYPE:
5817 case TYPES:
5818 case UNBOUNDED:
5819 case UNCOMMITTED:
5820 case UNDEFINED:
5821 case UNDOFILE:
5822 case UNDO_BUFFER_SIZE:
5823 case UNICODE:
5824 case UNINSTALL:
5825 case UNKNOWN:
5826 case UNTIL:
5827 case UPGRADE:
5828 case USER:
5829 case USER_RESOURCES:
5830 case USE_FRM:
5831 case UTC_DATE:
5832 case UTC_TIME:
5833 case UTC_TIMESTAMP:
5834 case VALIDATION:
5835 case VALUE:
5836 case VARIABLES:
5837 case VCPU:
5838 case VIEW:
5839 case VISIBLE:
5840 case WAIT:
5841 case WARNINGS:
5842 case WEEK:
5843 case WEIGHT_STRING:
5844 case WITHOUT:
5845 case WORK:
5846 case WRAPPER:
5847 case X509:
5848 case XA:
5849 case XID:
5850 case XML:
5851 case YEAR:
5852 case YEAR_MONTH:
5853 case DOUBLE_QUOTED_TEXT:
5854 case BQUOTA_STRING:
5855 case UNDERSCORE_CHARSET:
5856 case IDENTIFIER_:
5857 {
5858 setState(943);
5859 tableFactor();
5860 }
5861 break;
5862 case LBE_:
5863 {
5864 setState(944);
5865 match(LBE_);
5866 setState(945);
5867 match(OJ);
5868 setState(946);
5869 escapedTableReference();
5870 setState(947);
5871 match(RBE_);
5872 }
5873 break;
5874 default:
5875 throw new NoViableAltException(this);
5876 }
5877 setState(954);
5878 _errHandler.sync(this);
5879 _alt = getInterpreter().adaptivePredict(_input,87,_ctx);
5880 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
5881 if ( _alt==1 ) {
5882 {
5883 {
5884 setState(951);
5885 joinedTable();
5886 }
5887 }
5888 }
5889 setState(956);
5890 _errHandler.sync(this);
5891 _alt = getInterpreter().adaptivePredict(_input,87,_ctx);
5892 }
5893 }
5894 }
5895 catch (RecognitionException re) {
5896 _localctx.exception = re;
5897 _errHandler.reportError(this, re);
5898 _errHandler.recover(this, re);
5899 }
5900 finally {
5901 exitRule();
5902 }
5903 return _localctx;
5904 }
5905
5906 public static class TableFactorContext extends ParserRuleContext {
5907 public TableNameContext tableName() {
5908 return getRuleContext(TableNameContext.class,0);
5909 }
5910 public PartitionNamesContext partitionNames() {
5911 return getRuleContext(PartitionNamesContext.class,0);
5912 }
5913 public AliasContext alias() {
5914 return getRuleContext(AliasContext.class,0);
5915 }
5916 public IndexHintListContext indexHintList() {
5917 return getRuleContext(IndexHintListContext.class,0);
5918 }
5919 public TerminalNode AS() { return getToken(HiveStatementParser.AS, 0); }
5920 public SubqueryContext subquery() {
5921 return getRuleContext(SubqueryContext.class,0);
5922 }
5923 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
5924 public ColumnNamesContext columnNames() {
5925 return getRuleContext(ColumnNamesContext.class,0);
5926 }
5927 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
5928 public TableReferencesContext tableReferences() {
5929 return getRuleContext(TableReferencesContext.class,0);
5930 }
5931 public TableFactorContext(ParserRuleContext parent, int invokingState) {
5932 super(parent, invokingState);
5933 }
5934 @Override public int getRuleIndex() { return RULE_tableFactor; }
5935 @Override
5936 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5937 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableFactor(this);
5938 else return visitor.visitChildren(this);
5939 }
5940 }
5941
5942 public final TableFactorContext tableFactor() throws RecognitionException {
5943 TableFactorContext _localctx = new TableFactorContext(_ctx, getState());
5944 enterRule(_localctx, 90, RULE_tableFactor);
5945 int _la;
5946 try {
5947 setState(985);
5948 _errHandler.sync(this);
5949 switch ( getInterpreter().adaptivePredict(_input,94,_ctx) ) {
5950 case 1:
5951 enterOuterAlt(_localctx, 1);
5952 {
5953 setState(957);
5954 tableName();
5955 setState(959);
5956 _errHandler.sync(this);
5957 switch ( getInterpreter().adaptivePredict(_input,88,_ctx) ) {
5958 case 1:
5959 {
5960 setState(958);
5961 partitionNames();
5962 }
5963 break;
5964 }
5965 setState(965);
5966 _errHandler.sync(this);
5967 switch ( getInterpreter().adaptivePredict(_input,90,_ctx) ) {
5968 case 1:
5969 {
5970 setState(962);
5971 _errHandler.sync(this);
5972 _la = _input.LA(1);
5973 if (_la==AS) {
5974 {
5975 setState(961);
5976 match(AS);
5977 }
5978 }
5979
5980 setState(964);
5981 alias();
5982 }
5983 break;
5984 }
5985 setState(968);
5986 _errHandler.sync(this);
5987 switch ( getInterpreter().adaptivePredict(_input,91,_ctx) ) {
5988 case 1:
5989 {
5990 setState(967);
5991 indexHintList();
5992 }
5993 break;
5994 }
5995 }
5996 break;
5997 case 2:
5998 enterOuterAlt(_localctx, 2);
5999 {
6000 setState(970);
6001 subquery();
6002 setState(972);
6003 _errHandler.sync(this);
6004 _la = _input.LA(1);
6005 if (_la==AS) {
6006 {
6007 setState(971);
6008 match(AS);
6009 }
6010 }
6011
6012 setState(974);
6013 alias();
6014 setState(979);
6015 _errHandler.sync(this);
6016 switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) {
6017 case 1:
6018 {
6019 setState(975);
6020 match(LP_);
6021 setState(976);
6022 columnNames();
6023 setState(977);
6024 match(RP_);
6025 }
6026 break;
6027 }
6028 }
6029 break;
6030 case 3:
6031 enterOuterAlt(_localctx, 3);
6032 {
6033 setState(981);
6034 match(LP_);
6035 setState(982);
6036 tableReferences();
6037 setState(983);
6038 match(RP_);
6039 }
6040 break;
6041 }
6042 }
6043 catch (RecognitionException re) {
6044 _localctx.exception = re;
6045 _errHandler.reportError(this, re);
6046 _errHandler.recover(this, re);
6047 }
6048 finally {
6049 exitRule();
6050 }
6051 return _localctx;
6052 }
6053
6054 public static class PartitionNamesContext extends ParserRuleContext {
6055 public TerminalNode PARTITION() { return getToken(HiveStatementParser.PARTITION, 0); }
6056 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
6057 public List<IdentifierContext> identifier() {
6058 return getRuleContexts(IdentifierContext.class);
6059 }
6060 public IdentifierContext identifier(int i) {
6061 return getRuleContext(IdentifierContext.class,i);
6062 }
6063 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
6064 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
6065 public TerminalNode COMMA_(int i) {
6066 return getToken(HiveStatementParser.COMMA_, i);
6067 }
6068 public PartitionNamesContext(ParserRuleContext parent, int invokingState) {
6069 super(parent, invokingState);
6070 }
6071 @Override public int getRuleIndex() { return RULE_partitionNames; }
6072 @Override
6073 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6074 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitPartitionNames(this);
6075 else return visitor.visitChildren(this);
6076 }
6077 }
6078
6079 public final PartitionNamesContext partitionNames() throws RecognitionException {
6080 PartitionNamesContext _localctx = new PartitionNamesContext(_ctx, getState());
6081 enterRule(_localctx, 92, RULE_partitionNames);
6082 int _la;
6083 try {
6084 enterOuterAlt(_localctx, 1);
6085 {
6086 setState(987);
6087 match(PARTITION);
6088 setState(988);
6089 match(LP_);
6090 setState(989);
6091 identifier();
6092 setState(994);
6093 _errHandler.sync(this);
6094 _la = _input.LA(1);
6095 while (_la==COMMA_) {
6096 {
6097 {
6098 setState(990);
6099 match(COMMA_);
6100 setState(991);
6101 identifier();
6102 }
6103 }
6104 setState(996);
6105 _errHandler.sync(this);
6106 _la = _input.LA(1);
6107 }
6108 setState(997);
6109 match(RP_);
6110 }
6111 }
6112 catch (RecognitionException re) {
6113 _localctx.exception = re;
6114 _errHandler.reportError(this, re);
6115 _errHandler.recover(this, re);
6116 }
6117 finally {
6118 exitRule();
6119 }
6120 return _localctx;
6121 }
6122
6123 public static class IndexHintListContext extends ParserRuleContext {
6124 public List<IndexHintContext> indexHint() {
6125 return getRuleContexts(IndexHintContext.class);
6126 }
6127 public IndexHintContext indexHint(int i) {
6128 return getRuleContext(IndexHintContext.class,i);
6129 }
6130 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
6131 public TerminalNode COMMA_(int i) {
6132 return getToken(HiveStatementParser.COMMA_, i);
6133 }
6134 public IndexHintListContext(ParserRuleContext parent, int invokingState) {
6135 super(parent, invokingState);
6136 }
6137 @Override public int getRuleIndex() { return RULE_indexHintList; }
6138 @Override
6139 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6140 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIndexHintList(this);
6141 else return visitor.visitChildren(this);
6142 }
6143 }
6144
6145 public final IndexHintListContext indexHintList() throws RecognitionException {
6146 IndexHintListContext _localctx = new IndexHintListContext(_ctx, getState());
6147 enterRule(_localctx, 94, RULE_indexHintList);
6148 try {
6149 int _alt;
6150 enterOuterAlt(_localctx, 1);
6151 {
6152 setState(999);
6153 indexHint();
6154 setState(1004);
6155 _errHandler.sync(this);
6156 _alt = getInterpreter().adaptivePredict(_input,96,_ctx);
6157 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6158 if ( _alt==1 ) {
6159 {
6160 {
6161 setState(1000);
6162 match(COMMA_);
6163 setState(1001);
6164 indexHint();
6165 }
6166 }
6167 }
6168 setState(1006);
6169 _errHandler.sync(this);
6170 _alt = getInterpreter().adaptivePredict(_input,96,_ctx);
6171 }
6172 }
6173 }
6174 catch (RecognitionException re) {
6175 _localctx.exception = re;
6176 _errHandler.reportError(this, re);
6177 _errHandler.recover(this, re);
6178 }
6179 finally {
6180 exitRule();
6181 }
6182 return _localctx;
6183 }
6184
6185 public static class IndexHintContext extends ParserRuleContext {
6186 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
6187 public List<IndexNameContext> indexName() {
6188 return getRuleContexts(IndexNameContext.class);
6189 }
6190 public IndexNameContext indexName(int i) {
6191 return getRuleContext(IndexNameContext.class,i);
6192 }
6193 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
6194 public TerminalNode USE() { return getToken(HiveStatementParser.USE, 0); }
6195 public TerminalNode IGNORE() { return getToken(HiveStatementParser.IGNORE, 0); }
6196 public TerminalNode FORCE() { return getToken(HiveStatementParser.FORCE, 0); }
6197 public TerminalNode INDEX() { return getToken(HiveStatementParser.INDEX, 0); }
6198 public TerminalNode KEY() { return getToken(HiveStatementParser.KEY, 0); }
6199 public TerminalNode FOR() { return getToken(HiveStatementParser.FOR, 0); }
6200 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
6201 public TerminalNode COMMA_(int i) {
6202 return getToken(HiveStatementParser.COMMA_, i);
6203 }
6204 public TerminalNode JOIN() { return getToken(HiveStatementParser.JOIN, 0); }
6205 public TerminalNode ORDER() { return getToken(HiveStatementParser.ORDER, 0); }
6206 public TerminalNode BY() { return getToken(HiveStatementParser.BY, 0); }
6207 public TerminalNode GROUP() { return getToken(HiveStatementParser.GROUP, 0); }
6208 public IndexHintContext(ParserRuleContext parent, int invokingState) {
6209 super(parent, invokingState);
6210 }
6211 @Override public int getRuleIndex() { return RULE_indexHint; }
6212 @Override
6213 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6214 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIndexHint(this);
6215 else return visitor.visitChildren(this);
6216 }
6217 }
6218
6219 public final IndexHintContext indexHint() throws RecognitionException {
6220 IndexHintContext _localctx = new IndexHintContext(_ctx, getState());
6221 enterRule(_localctx, 96, RULE_indexHint);
6222 int _la;
6223 try {
6224 enterOuterAlt(_localctx, 1);
6225 {
6226 setState(1007);
6227 _la = _input.LA(1);
6228 if ( !(_la==FORCE || _la==IGNORE || _la==USE) ) {
6229 _errHandler.recoverInline(this);
6230 }
6231 else {
6232 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6233 _errHandler.reportMatch(this);
6234 consume();
6235 }
6236 setState(1008);
6237 _la = _input.LA(1);
6238 if ( !(_la==INDEX || _la==KEY) ) {
6239 _errHandler.recoverInline(this);
6240 }
6241 else {
6242 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6243 _errHandler.reportMatch(this);
6244 consume();
6245 }
6246 setState(1017);
6247 _errHandler.sync(this);
6248 _la = _input.LA(1);
6249 if (_la==FOR) {
6250 {
6251 setState(1009);
6252 match(FOR);
6253 setState(1015);
6254 _errHandler.sync(this);
6255 switch (_input.LA(1)) {
6256 case JOIN:
6257 {
6258 setState(1010);
6259 match(JOIN);
6260 }
6261 break;
6262 case ORDER:
6263 {
6264 setState(1011);
6265 match(ORDER);
6266 setState(1012);
6267 match(BY);
6268 }
6269 break;
6270 case GROUP:
6271 {
6272 setState(1013);
6273 match(GROUP);
6274 setState(1014);
6275 match(BY);
6276 }
6277 break;
6278 default:
6279 throw new NoViableAltException(this);
6280 }
6281 }
6282 }
6283
6284 setState(1019);
6285 match(LP_);
6286 setState(1020);
6287 indexName();
6288 setState(1025);
6289 _errHandler.sync(this);
6290 _la = _input.LA(1);
6291 while (_la==COMMA_) {
6292 {
6293 {
6294 setState(1021);
6295 match(COMMA_);
6296 setState(1022);
6297 indexName();
6298 }
6299 }
6300 setState(1027);
6301 _errHandler.sync(this);
6302 _la = _input.LA(1);
6303 }
6304 setState(1028);
6305 match(RP_);
6306 }
6307 }
6308 catch (RecognitionException re) {
6309 _localctx.exception = re;
6310 _errHandler.reportError(this, re);
6311 _errHandler.recover(this, re);
6312 }
6313 finally {
6314 exitRule();
6315 }
6316 return _localctx;
6317 }
6318
6319 public static class JoinedTableContext extends ParserRuleContext {
6320 public InnerJoinTypeContext innerJoinType() {
6321 return getRuleContext(InnerJoinTypeContext.class,0);
6322 }
6323 public TableReferenceContext tableReference() {
6324 return getRuleContext(TableReferenceContext.class,0);
6325 }
6326 public JoinSpecificationContext joinSpecification() {
6327 return getRuleContext(JoinSpecificationContext.class,0);
6328 }
6329 public OuterJoinTypeContext outerJoinType() {
6330 return getRuleContext(OuterJoinTypeContext.class,0);
6331 }
6332 public NaturalJoinTypeContext naturalJoinType() {
6333 return getRuleContext(NaturalJoinTypeContext.class,0);
6334 }
6335 public TableFactorContext tableFactor() {
6336 return getRuleContext(TableFactorContext.class,0);
6337 }
6338 public JoinedTableContext(ParserRuleContext parent, int invokingState) {
6339 super(parent, invokingState);
6340 }
6341 @Override public int getRuleIndex() { return RULE_joinedTable; }
6342 @Override
6343 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6344 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitJoinedTable(this);
6345 else return visitor.visitChildren(this);
6346 }
6347 }
6348
6349 public final JoinedTableContext joinedTable() throws RecognitionException {
6350 JoinedTableContext _localctx = new JoinedTableContext(_ctx, getState());
6351 enterRule(_localctx, 98, RULE_joinedTable);
6352 try {
6353 setState(1042);
6354 _errHandler.sync(this);
6355 switch (_input.LA(1)) {
6356 case CROSS:
6357 case INNER:
6358 case JOIN:
6359 case STRAIGHT_JOIN:
6360 enterOuterAlt(_localctx, 1);
6361 {
6362 setState(1030);
6363 innerJoinType();
6364 setState(1031);
6365 tableReference();
6366 setState(1033);
6367 _errHandler.sync(this);
6368 switch ( getInterpreter().adaptivePredict(_input,100,_ctx) ) {
6369 case 1:
6370 {
6371 setState(1032);
6372 joinSpecification();
6373 }
6374 break;
6375 }
6376 }
6377 break;
6378 case LEFT:
6379 case RIGHT:
6380 enterOuterAlt(_localctx, 2);
6381 {
6382 setState(1035);
6383 outerJoinType();
6384 setState(1036);
6385 tableReference();
6386 setState(1037);
6387 joinSpecification();
6388 }
6389 break;
6390 case NATURAL:
6391 enterOuterAlt(_localctx, 3);
6392 {
6393 setState(1039);
6394 naturalJoinType();
6395 setState(1040);
6396 tableFactor();
6397 }
6398 break;
6399 default:
6400 throw new NoViableAltException(this);
6401 }
6402 }
6403 catch (RecognitionException re) {
6404 _localctx.exception = re;
6405 _errHandler.reportError(this, re);
6406 _errHandler.recover(this, re);
6407 }
6408 finally {
6409 exitRule();
6410 }
6411 return _localctx;
6412 }
6413
6414 public static class InnerJoinTypeContext extends ParserRuleContext {
6415 public TerminalNode JOIN() { return getToken(HiveStatementParser.JOIN, 0); }
6416 public TerminalNode INNER() { return getToken(HiveStatementParser.INNER, 0); }
6417 public TerminalNode CROSS() { return getToken(HiveStatementParser.CROSS, 0); }
6418 public TerminalNode STRAIGHT_JOIN() { return getToken(HiveStatementParser.STRAIGHT_JOIN, 0); }
6419 public InnerJoinTypeContext(ParserRuleContext parent, int invokingState) {
6420 super(parent, invokingState);
6421 }
6422 @Override public int getRuleIndex() { return RULE_innerJoinType; }
6423 @Override
6424 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6425 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitInnerJoinType(this);
6426 else return visitor.visitChildren(this);
6427 }
6428 }
6429
6430 public final InnerJoinTypeContext innerJoinType() throws RecognitionException {
6431 InnerJoinTypeContext _localctx = new InnerJoinTypeContext(_ctx, getState());
6432 enterRule(_localctx, 100, RULE_innerJoinType);
6433 int _la;
6434 try {
6435 setState(1049);
6436 _errHandler.sync(this);
6437 switch (_input.LA(1)) {
6438 case CROSS:
6439 case INNER:
6440 case JOIN:
6441 enterOuterAlt(_localctx, 1);
6442 {
6443 setState(1045);
6444 _errHandler.sync(this);
6445 _la = _input.LA(1);
6446 if (_la==CROSS || _la==INNER) {
6447 {
6448 setState(1044);
6449 _la = _input.LA(1);
6450 if ( !(_la==CROSS || _la==INNER) ) {
6451 _errHandler.recoverInline(this);
6452 }
6453 else {
6454 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6455 _errHandler.reportMatch(this);
6456 consume();
6457 }
6458 }
6459 }
6460
6461 setState(1047);
6462 match(JOIN);
6463 }
6464 break;
6465 case STRAIGHT_JOIN:
6466 enterOuterAlt(_localctx, 2);
6467 {
6468 setState(1048);
6469 match(STRAIGHT_JOIN);
6470 }
6471 break;
6472 default:
6473 throw new NoViableAltException(this);
6474 }
6475 }
6476 catch (RecognitionException re) {
6477 _localctx.exception = re;
6478 _errHandler.reportError(this, re);
6479 _errHandler.recover(this, re);
6480 }
6481 finally {
6482 exitRule();
6483 }
6484 return _localctx;
6485 }
6486
6487 public static class OuterJoinTypeContext extends ParserRuleContext {
6488 public TerminalNode JOIN() { return getToken(HiveStatementParser.JOIN, 0); }
6489 public TerminalNode LEFT() { return getToken(HiveStatementParser.LEFT, 0); }
6490 public TerminalNode RIGHT() { return getToken(HiveStatementParser.RIGHT, 0); }
6491 public TerminalNode OUTER() { return getToken(HiveStatementParser.OUTER, 0); }
6492 public OuterJoinTypeContext(ParserRuleContext parent, int invokingState) {
6493 super(parent, invokingState);
6494 }
6495 @Override public int getRuleIndex() { return RULE_outerJoinType; }
6496 @Override
6497 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6498 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitOuterJoinType(this);
6499 else return visitor.visitChildren(this);
6500 }
6501 }
6502
6503 public final OuterJoinTypeContext outerJoinType() throws RecognitionException {
6504 OuterJoinTypeContext _localctx = new OuterJoinTypeContext(_ctx, getState());
6505 enterRule(_localctx, 102, RULE_outerJoinType);
6506 int _la;
6507 try {
6508 enterOuterAlt(_localctx, 1);
6509 {
6510 setState(1051);
6511 _la = _input.LA(1);
6512 if ( !(_la==LEFT || _la==RIGHT) ) {
6513 _errHandler.recoverInline(this);
6514 }
6515 else {
6516 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6517 _errHandler.reportMatch(this);
6518 consume();
6519 }
6520 setState(1053);
6521 _errHandler.sync(this);
6522 _la = _input.LA(1);
6523 if (_la==OUTER) {
6524 {
6525 setState(1052);
6526 match(OUTER);
6527 }
6528 }
6529
6530 setState(1055);
6531 match(JOIN);
6532 }
6533 }
6534 catch (RecognitionException re) {
6535 _localctx.exception = re;
6536 _errHandler.reportError(this, re);
6537 _errHandler.recover(this, re);
6538 }
6539 finally {
6540 exitRule();
6541 }
6542 return _localctx;
6543 }
6544
6545 public static class NaturalJoinTypeContext extends ParserRuleContext {
6546 public TerminalNode NATURAL() { return getToken(HiveStatementParser.NATURAL, 0); }
6547 public TerminalNode JOIN() { return getToken(HiveStatementParser.JOIN, 0); }
6548 public TerminalNode INNER() { return getToken(HiveStatementParser.INNER, 0); }
6549 public TerminalNode LEFT() { return getToken(HiveStatementParser.LEFT, 0); }
6550 public TerminalNode RIGHT() { return getToken(HiveStatementParser.RIGHT, 0); }
6551 public TerminalNode OUTER() { return getToken(HiveStatementParser.OUTER, 0); }
6552 public NaturalJoinTypeContext(ParserRuleContext parent, int invokingState) {
6553 super(parent, invokingState);
6554 }
6555 @Override public int getRuleIndex() { return RULE_naturalJoinType; }
6556 @Override
6557 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6558 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitNaturalJoinType(this);
6559 else return visitor.visitChildren(this);
6560 }
6561 }
6562
6563 public final NaturalJoinTypeContext naturalJoinType() throws RecognitionException {
6564 NaturalJoinTypeContext _localctx = new NaturalJoinTypeContext(_ctx, getState());
6565 enterRule(_localctx, 104, RULE_naturalJoinType);
6566 int _la;
6567 try {
6568 setState(1068);
6569 _errHandler.sync(this);
6570 switch ( getInterpreter().adaptivePredict(_input,107,_ctx) ) {
6571 case 1:
6572 enterOuterAlt(_localctx, 1);
6573 {
6574 setState(1057);
6575 match(NATURAL);
6576 setState(1059);
6577 _errHandler.sync(this);
6578 _la = _input.LA(1);
6579 if (_la==INNER) {
6580 {
6581 setState(1058);
6582 match(INNER);
6583 }
6584 }
6585
6586 setState(1061);
6587 match(JOIN);
6588 }
6589 break;
6590 case 2:
6591 enterOuterAlt(_localctx, 2);
6592 {
6593 setState(1062);
6594 match(NATURAL);
6595 setState(1063);
6596 _la = _input.LA(1);
6597 if ( !(_la==LEFT || _la==RIGHT) ) {
6598 _errHandler.recoverInline(this);
6599 }
6600 else {
6601 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6602 _errHandler.reportMatch(this);
6603 consume();
6604 }
6605 setState(1065);
6606 _errHandler.sync(this);
6607 _la = _input.LA(1);
6608 if (_la==OUTER) {
6609 {
6610 setState(1064);
6611 match(OUTER);
6612 }
6613 }
6614
6615 setState(1067);
6616 match(JOIN);
6617 }
6618 break;
6619 }
6620 }
6621 catch (RecognitionException re) {
6622 _localctx.exception = re;
6623 _errHandler.reportError(this, re);
6624 _errHandler.recover(this, re);
6625 }
6626 finally {
6627 exitRule();
6628 }
6629 return _localctx;
6630 }
6631
6632 public static class JoinSpecificationContext extends ParserRuleContext {
6633 public TerminalNode ON() { return getToken(HiveStatementParser.ON, 0); }
6634 public ExprContext expr() {
6635 return getRuleContext(ExprContext.class,0);
6636 }
6637 public TerminalNode USING() { return getToken(HiveStatementParser.USING, 0); }
6638 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
6639 public ColumnNamesContext columnNames() {
6640 return getRuleContext(ColumnNamesContext.class,0);
6641 }
6642 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
6643 public JoinSpecificationContext(ParserRuleContext parent, int invokingState) {
6644 super(parent, invokingState);
6645 }
6646 @Override public int getRuleIndex() { return RULE_joinSpecification; }
6647 @Override
6648 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6649 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitJoinSpecification(this);
6650 else return visitor.visitChildren(this);
6651 }
6652 }
6653
6654 public final JoinSpecificationContext joinSpecification() throws RecognitionException {
6655 JoinSpecificationContext _localctx = new JoinSpecificationContext(_ctx, getState());
6656 enterRule(_localctx, 106, RULE_joinSpecification);
6657 try {
6658 setState(1077);
6659 _errHandler.sync(this);
6660 switch (_input.LA(1)) {
6661 case ON:
6662 enterOuterAlt(_localctx, 1);
6663 {
6664 setState(1070);
6665 match(ON);
6666 setState(1071);
6667 expr(0);
6668 }
6669 break;
6670 case USING:
6671 enterOuterAlt(_localctx, 2);
6672 {
6673 setState(1072);
6674 match(USING);
6675 setState(1073);
6676 match(LP_);
6677 setState(1074);
6678 columnNames();
6679 setState(1075);
6680 match(RP_);
6681 }
6682 break;
6683 default:
6684 throw new NoViableAltException(this);
6685 }
6686 }
6687 catch (RecognitionException re) {
6688 _localctx.exception = re;
6689 _errHandler.reportError(this, re);
6690 _errHandler.recover(this, re);
6691 }
6692 finally {
6693 exitRule();
6694 }
6695 return _localctx;
6696 }
6697
6698 public static class WhereClauseContext extends ParserRuleContext {
6699 public TerminalNode WHERE() { return getToken(HiveStatementParser.WHERE, 0); }
6700 public ExprContext expr() {
6701 return getRuleContext(ExprContext.class,0);
6702 }
6703 public WhereClauseContext(ParserRuleContext parent, int invokingState) {
6704 super(parent, invokingState);
6705 }
6706 @Override public int getRuleIndex() { return RULE_whereClause; }
6707 @Override
6708 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6709 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitWhereClause(this);
6710 else return visitor.visitChildren(this);
6711 }
6712 }
6713
6714 public final WhereClauseContext whereClause() throws RecognitionException {
6715 WhereClauseContext _localctx = new WhereClauseContext(_ctx, getState());
6716 enterRule(_localctx, 108, RULE_whereClause);
6717 try {
6718 enterOuterAlt(_localctx, 1);
6719 {
6720 setState(1079);
6721 match(WHERE);
6722 setState(1080);
6723 expr(0);
6724 }
6725 }
6726 catch (RecognitionException re) {
6727 _localctx.exception = re;
6728 _errHandler.reportError(this, re);
6729 _errHandler.recover(this, re);
6730 }
6731 finally {
6732 exitRule();
6733 }
6734 return _localctx;
6735 }
6736
6737 public static class GroupByClauseContext extends ParserRuleContext {
6738 public TerminalNode GROUP() { return getToken(HiveStatementParser.GROUP, 0); }
6739 public TerminalNode BY() { return getToken(HiveStatementParser.BY, 0); }
6740 public List<OrderByItemContext> orderByItem() {
6741 return getRuleContexts(OrderByItemContext.class);
6742 }
6743 public OrderByItemContext orderByItem(int i) {
6744 return getRuleContext(OrderByItemContext.class,i);
6745 }
6746 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
6747 public TerminalNode COMMA_(int i) {
6748 return getToken(HiveStatementParser.COMMA_, i);
6749 }
6750 public TerminalNode WITH() { return getToken(HiveStatementParser.WITH, 0); }
6751 public TerminalNode ROLLUP() { return getToken(HiveStatementParser.ROLLUP, 0); }
6752 public GroupByClauseContext(ParserRuleContext parent, int invokingState) {
6753 super(parent, invokingState);
6754 }
6755 @Override public int getRuleIndex() { return RULE_groupByClause; }
6756 @Override
6757 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6758 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitGroupByClause(this);
6759 else return visitor.visitChildren(this);
6760 }
6761 }
6762
6763 public final GroupByClauseContext groupByClause() throws RecognitionException {
6764 GroupByClauseContext _localctx = new GroupByClauseContext(_ctx, getState());
6765 enterRule(_localctx, 110, RULE_groupByClause);
6766 try {
6767 int _alt;
6768 enterOuterAlt(_localctx, 1);
6769 {
6770 setState(1082);
6771 match(GROUP);
6772 setState(1083);
6773 match(BY);
6774 setState(1084);
6775 orderByItem();
6776 setState(1089);
6777 _errHandler.sync(this);
6778 _alt = getInterpreter().adaptivePredict(_input,109,_ctx);
6779 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6780 if ( _alt==1 ) {
6781 {
6782 {
6783 setState(1085);
6784 match(COMMA_);
6785 setState(1086);
6786 orderByItem();
6787 }
6788 }
6789 }
6790 setState(1091);
6791 _errHandler.sync(this);
6792 _alt = getInterpreter().adaptivePredict(_input,109,_ctx);
6793 }
6794 setState(1094);
6795 _errHandler.sync(this);
6796 switch ( getInterpreter().adaptivePredict(_input,110,_ctx) ) {
6797 case 1:
6798 {
6799 setState(1092);
6800 match(WITH);
6801 setState(1093);
6802 match(ROLLUP);
6803 }
6804 break;
6805 }
6806 }
6807 }
6808 catch (RecognitionException re) {
6809 _localctx.exception = re;
6810 _errHandler.reportError(this, re);
6811 _errHandler.recover(this, re);
6812 }
6813 finally {
6814 exitRule();
6815 }
6816 return _localctx;
6817 }
6818
6819 public static class HavingClauseContext extends ParserRuleContext {
6820 public TerminalNode HAVING() { return getToken(HiveStatementParser.HAVING, 0); }
6821 public ExprContext expr() {
6822 return getRuleContext(ExprContext.class,0);
6823 }
6824 public HavingClauseContext(ParserRuleContext parent, int invokingState) {
6825 super(parent, invokingState);
6826 }
6827 @Override public int getRuleIndex() { return RULE_havingClause; }
6828 @Override
6829 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6830 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitHavingClause(this);
6831 else return visitor.visitChildren(this);
6832 }
6833 }
6834
6835 public final HavingClauseContext havingClause() throws RecognitionException {
6836 HavingClauseContext _localctx = new HavingClauseContext(_ctx, getState());
6837 enterRule(_localctx, 112, RULE_havingClause);
6838 try {
6839 enterOuterAlt(_localctx, 1);
6840 {
6841 setState(1096);
6842 match(HAVING);
6843 setState(1097);
6844 expr(0);
6845 }
6846 }
6847 catch (RecognitionException re) {
6848 _localctx.exception = re;
6849 _errHandler.reportError(this, re);
6850 _errHandler.recover(this, re);
6851 }
6852 finally {
6853 exitRule();
6854 }
6855 return _localctx;
6856 }
6857
6858 public static class LimitClauseContext extends ParserRuleContext {
6859 public TerminalNode LIMIT() { return getToken(HiveStatementParser.LIMIT, 0); }
6860 public LimitRowCountContext limitRowCount() {
6861 return getRuleContext(LimitRowCountContext.class,0);
6862 }
6863 public TerminalNode OFFSET() { return getToken(HiveStatementParser.OFFSET, 0); }
6864 public LimitOffsetContext limitOffset() {
6865 return getRuleContext(LimitOffsetContext.class,0);
6866 }
6867 public TerminalNode COMMA_() { return getToken(HiveStatementParser.COMMA_, 0); }
6868 public LimitClauseContext(ParserRuleContext parent, int invokingState) {
6869 super(parent, invokingState);
6870 }
6871 @Override public int getRuleIndex() { return RULE_limitClause; }
6872 @Override
6873 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6874 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLimitClause(this);
6875 else return visitor.visitChildren(this);
6876 }
6877 }
6878
6879 public final LimitClauseContext limitClause() throws RecognitionException {
6880 LimitClauseContext _localctx = new LimitClauseContext(_ctx, getState());
6881 enterRule(_localctx, 114, RULE_limitClause);
6882 try {
6883 enterOuterAlt(_localctx, 1);
6884 {
6885 setState(1099);
6886 match(LIMIT);
6887 setState(1110);
6888 _errHandler.sync(this);
6889 switch ( getInterpreter().adaptivePredict(_input,112,_ctx) ) {
6890 case 1:
6891 {
6892 setState(1103);
6893 _errHandler.sync(this);
6894 switch ( getInterpreter().adaptivePredict(_input,111,_ctx) ) {
6895 case 1:
6896 {
6897 setState(1100);
6898 limitOffset();
6899 setState(1101);
6900 match(COMMA_);
6901 }
6902 break;
6903 }
6904 setState(1105);
6905 limitRowCount();
6906 }
6907 break;
6908 case 2:
6909 {
6910 setState(1106);
6911 limitRowCount();
6912 setState(1107);
6913 match(OFFSET);
6914 setState(1108);
6915 limitOffset();
6916 }
6917 break;
6918 }
6919 }
6920 }
6921 catch (RecognitionException re) {
6922 _localctx.exception = re;
6923 _errHandler.reportError(this, re);
6924 _errHandler.recover(this, re);
6925 }
6926 finally {
6927 exitRule();
6928 }
6929 return _localctx;
6930 }
6931
6932 public static class LimitRowCountContext extends ParserRuleContext {
6933 public NumberLiteralsContext numberLiterals() {
6934 return getRuleContext(NumberLiteralsContext.class,0);
6935 }
6936 public ParameterMarkerContext parameterMarker() {
6937 return getRuleContext(ParameterMarkerContext.class,0);
6938 }
6939 public LimitRowCountContext(ParserRuleContext parent, int invokingState) {
6940 super(parent, invokingState);
6941 }
6942 @Override public int getRuleIndex() { return RULE_limitRowCount; }
6943 @Override
6944 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6945 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLimitRowCount(this);
6946 else return visitor.visitChildren(this);
6947 }
6948 }
6949
6950 public final LimitRowCountContext limitRowCount() throws RecognitionException {
6951 LimitRowCountContext _localctx = new LimitRowCountContext(_ctx, getState());
6952 enterRule(_localctx, 116, RULE_limitRowCount);
6953 try {
6954 setState(1114);
6955 _errHandler.sync(this);
6956 switch (_input.LA(1)) {
6957 case PLUS_:
6958 case MINUS_:
6959 case NUMBER_:
6960 enterOuterAlt(_localctx, 1);
6961 {
6962 setState(1112);
6963 numberLiterals();
6964 }
6965 break;
6966 case QUESTION_:
6967 enterOuterAlt(_localctx, 2);
6968 {
6969 setState(1113);
6970 parameterMarker();
6971 }
6972 break;
6973 default:
6974 throw new NoViableAltException(this);
6975 }
6976 }
6977 catch (RecognitionException re) {
6978 _localctx.exception = re;
6979 _errHandler.reportError(this, re);
6980 _errHandler.recover(this, re);
6981 }
6982 finally {
6983 exitRule();
6984 }
6985 return _localctx;
6986 }
6987
6988 public static class LimitOffsetContext extends ParserRuleContext {
6989 public NumberLiteralsContext numberLiterals() {
6990 return getRuleContext(NumberLiteralsContext.class,0);
6991 }
6992 public ParameterMarkerContext parameterMarker() {
6993 return getRuleContext(ParameterMarkerContext.class,0);
6994 }
6995 public LimitOffsetContext(ParserRuleContext parent, int invokingState) {
6996 super(parent, invokingState);
6997 }
6998 @Override public int getRuleIndex() { return RULE_limitOffset; }
6999 @Override
7000 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7001 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLimitOffset(this);
7002 else return visitor.visitChildren(this);
7003 }
7004 }
7005
7006 public final LimitOffsetContext limitOffset() throws RecognitionException {
7007 LimitOffsetContext _localctx = new LimitOffsetContext(_ctx, getState());
7008 enterRule(_localctx, 118, RULE_limitOffset);
7009 try {
7010 setState(1118);
7011 _errHandler.sync(this);
7012 switch (_input.LA(1)) {
7013 case PLUS_:
7014 case MINUS_:
7015 case NUMBER_:
7016 enterOuterAlt(_localctx, 1);
7017 {
7018 setState(1116);
7019 numberLiterals();
7020 }
7021 break;
7022 case QUESTION_:
7023 enterOuterAlt(_localctx, 2);
7024 {
7025 setState(1117);
7026 parameterMarker();
7027 }
7028 break;
7029 default:
7030 throw new NoViableAltException(this);
7031 }
7032 }
7033 catch (RecognitionException re) {
7034 _localctx.exception = re;
7035 _errHandler.reportError(this, re);
7036 _errHandler.recover(this, re);
7037 }
7038 finally {
7039 exitRule();
7040 }
7041 return _localctx;
7042 }
7043
7044 public static class WindowClauseContext extends ParserRuleContext {
7045 public TerminalNode WINDOW() { return getToken(HiveStatementParser.WINDOW, 0); }
7046 public List<WindowItemContext> windowItem() {
7047 return getRuleContexts(WindowItemContext.class);
7048 }
7049 public WindowItemContext windowItem(int i) {
7050 return getRuleContext(WindowItemContext.class,i);
7051 }
7052 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
7053 public TerminalNode COMMA_(int i) {
7054 return getToken(HiveStatementParser.COMMA_, i);
7055 }
7056 public WindowClauseContext(ParserRuleContext parent, int invokingState) {
7057 super(parent, invokingState);
7058 }
7059 @Override public int getRuleIndex() { return RULE_windowClause; }
7060 @Override
7061 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7062 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitWindowClause(this);
7063 else return visitor.visitChildren(this);
7064 }
7065 }
7066
7067 public final WindowClauseContext windowClause() throws RecognitionException {
7068 WindowClauseContext _localctx = new WindowClauseContext(_ctx, getState());
7069 enterRule(_localctx, 120, RULE_windowClause);
7070 try {
7071 int _alt;
7072 enterOuterAlt(_localctx, 1);
7073 {
7074 setState(1120);
7075 match(WINDOW);
7076 setState(1121);
7077 windowItem();
7078 setState(1126);
7079 _errHandler.sync(this);
7080 _alt = getInterpreter().adaptivePredict(_input,115,_ctx);
7081 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
7082 if ( _alt==1 ) {
7083 {
7084 {
7085 setState(1122);
7086 match(COMMA_);
7087 setState(1123);
7088 windowItem();
7089 }
7090 }
7091 }
7092 setState(1128);
7093 _errHandler.sync(this);
7094 _alt = getInterpreter().adaptivePredict(_input,115,_ctx);
7095 }
7096 }
7097 }
7098 catch (RecognitionException re) {
7099 _localctx.exception = re;
7100 _errHandler.reportError(this, re);
7101 _errHandler.recover(this, re);
7102 }
7103 finally {
7104 exitRule();
7105 }
7106 return _localctx;
7107 }
7108
7109 public static class WindowItemContext extends ParserRuleContext {
7110 public IdentifierContext identifier() {
7111 return getRuleContext(IdentifierContext.class,0);
7112 }
7113 public TerminalNode AS() { return getToken(HiveStatementParser.AS, 0); }
7114 public WindowSpecificationContext windowSpecification() {
7115 return getRuleContext(WindowSpecificationContext.class,0);
7116 }
7117 public WindowItemContext(ParserRuleContext parent, int invokingState) {
7118 super(parent, invokingState);
7119 }
7120 @Override public int getRuleIndex() { return RULE_windowItem; }
7121 @Override
7122 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7123 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitWindowItem(this);
7124 else return visitor.visitChildren(this);
7125 }
7126 }
7127
7128 public final WindowItemContext windowItem() throws RecognitionException {
7129 WindowItemContext _localctx = new WindowItemContext(_ctx, getState());
7130 enterRule(_localctx, 122, RULE_windowItem);
7131 try {
7132 enterOuterAlt(_localctx, 1);
7133 {
7134 setState(1129);
7135 identifier();
7136 setState(1130);
7137 match(AS);
7138 setState(1131);
7139 windowSpecification();
7140 }
7141 }
7142 catch (RecognitionException re) {
7143 _localctx.exception = re;
7144 _errHandler.reportError(this, re);
7145 _errHandler.recover(this, re);
7146 }
7147 finally {
7148 exitRule();
7149 }
7150 return _localctx;
7151 }
7152
7153 public static class SubqueryContext extends ParserRuleContext {
7154 public QueryExpressionParensContext queryExpressionParens() {
7155 return getRuleContext(QueryExpressionParensContext.class,0);
7156 }
7157 public SubqueryContext(ParserRuleContext parent, int invokingState) {
7158 super(parent, invokingState);
7159 }
7160 @Override public int getRuleIndex() { return RULE_subquery; }
7161 @Override
7162 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7163 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSubquery(this);
7164 else return visitor.visitChildren(this);
7165 }
7166 }
7167
7168 public final SubqueryContext subquery() throws RecognitionException {
7169 SubqueryContext _localctx = new SubqueryContext(_ctx, getState());
7170 enterRule(_localctx, 124, RULE_subquery);
7171 try {
7172 enterOuterAlt(_localctx, 1);
7173 {
7174 setState(1133);
7175 queryExpressionParens();
7176 }
7177 }
7178 catch (RecognitionException re) {
7179 _localctx.exception = re;
7180 _errHandler.reportError(this, re);
7181 _errHandler.recover(this, re);
7182 }
7183 finally {
7184 exitRule();
7185 }
7186 return _localctx;
7187 }
7188
7189 public static class SelectLinesIntoContext extends ParserRuleContext {
7190 public TerminalNode STARTING() { return getToken(HiveStatementParser.STARTING, 0); }
7191 public TerminalNode BY() { return getToken(HiveStatementParser.BY, 0); }
7192 public String_Context string_() {
7193 return getRuleContext(String_Context.class,0);
7194 }
7195 public TerminalNode TERMINATED() { return getToken(HiveStatementParser.TERMINATED, 0); }
7196 public SelectLinesIntoContext(ParserRuleContext parent, int invokingState) {
7197 super(parent, invokingState);
7198 }
7199 @Override public int getRuleIndex() { return RULE_selectLinesInto; }
7200 @Override
7201 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7202 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSelectLinesInto(this);
7203 else return visitor.visitChildren(this);
7204 }
7205 }
7206
7207 public final SelectLinesIntoContext selectLinesInto() throws RecognitionException {
7208 SelectLinesIntoContext _localctx = new SelectLinesIntoContext(_ctx, getState());
7209 enterRule(_localctx, 126, RULE_selectLinesInto);
7210 try {
7211 setState(1141);
7212 _errHandler.sync(this);
7213 switch (_input.LA(1)) {
7214 case STARTING:
7215 enterOuterAlt(_localctx, 1);
7216 {
7217 setState(1135);
7218 match(STARTING);
7219 setState(1136);
7220 match(BY);
7221 setState(1137);
7222 string_();
7223 }
7224 break;
7225 case TERMINATED:
7226 enterOuterAlt(_localctx, 2);
7227 {
7228 setState(1138);
7229 match(TERMINATED);
7230 setState(1139);
7231 match(BY);
7232 setState(1140);
7233 string_();
7234 }
7235 break;
7236 default:
7237 throw new NoViableAltException(this);
7238 }
7239 }
7240 catch (RecognitionException re) {
7241 _localctx.exception = re;
7242 _errHandler.reportError(this, re);
7243 _errHandler.recover(this, re);
7244 }
7245 finally {
7246 exitRule();
7247 }
7248 return _localctx;
7249 }
7250
7251 public static class SelectFieldsIntoContext extends ParserRuleContext {
7252 public TerminalNode TERMINATED() { return getToken(HiveStatementParser.TERMINATED, 0); }
7253 public TerminalNode BY() { return getToken(HiveStatementParser.BY, 0); }
7254 public String_Context string_() {
7255 return getRuleContext(String_Context.class,0);
7256 }
7257 public TerminalNode ENCLOSED() { return getToken(HiveStatementParser.ENCLOSED, 0); }
7258 public TerminalNode OPTIONALLY() { return getToken(HiveStatementParser.OPTIONALLY, 0); }
7259 public TerminalNode ESCAPED() { return getToken(HiveStatementParser.ESCAPED, 0); }
7260 public SelectFieldsIntoContext(ParserRuleContext parent, int invokingState) {
7261 super(parent, invokingState);
7262 }
7263 @Override public int getRuleIndex() { return RULE_selectFieldsInto; }
7264 @Override
7265 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7266 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSelectFieldsInto(this);
7267 else return visitor.visitChildren(this);
7268 }
7269 }
7270
7271 public final SelectFieldsIntoContext selectFieldsInto() throws RecognitionException {
7272 SelectFieldsIntoContext _localctx = new SelectFieldsIntoContext(_ctx, getState());
7273 enterRule(_localctx, 128, RULE_selectFieldsInto);
7274 int _la;
7275 try {
7276 setState(1155);
7277 _errHandler.sync(this);
7278 switch (_input.LA(1)) {
7279 case TERMINATED:
7280 enterOuterAlt(_localctx, 1);
7281 {
7282 setState(1143);
7283 match(TERMINATED);
7284 setState(1144);
7285 match(BY);
7286 setState(1145);
7287 string_();
7288 }
7289 break;
7290 case ENCLOSED:
7291 case OPTIONALLY:
7292 enterOuterAlt(_localctx, 2);
7293 {
7294 setState(1147);
7295 _errHandler.sync(this);
7296 _la = _input.LA(1);
7297 if (_la==OPTIONALLY) {
7298 {
7299 setState(1146);
7300 match(OPTIONALLY);
7301 }
7302 }
7303
7304 setState(1149);
7305 match(ENCLOSED);
7306 setState(1150);
7307 match(BY);
7308 setState(1151);
7309 string_();
7310 }
7311 break;
7312 case ESCAPED:
7313 enterOuterAlt(_localctx, 3);
7314 {
7315 setState(1152);
7316 match(ESCAPED);
7317 setState(1153);
7318 match(BY);
7319 setState(1154);
7320 string_();
7321 }
7322 break;
7323 default:
7324 throw new NoViableAltException(this);
7325 }
7326 }
7327 catch (RecognitionException re) {
7328 _localctx.exception = re;
7329 _errHandler.reportError(this, re);
7330 _errHandler.recover(this, re);
7331 }
7332 finally {
7333 exitRule();
7334 }
7335 return _localctx;
7336 }
7337
7338 public static class SelectIntoExpressionContext extends ParserRuleContext {
7339 public TerminalNode INTO() { return getToken(HiveStatementParser.INTO, 0); }
7340 public List<VariableContext> variable() {
7341 return getRuleContexts(VariableContext.class);
7342 }
7343 public VariableContext variable(int i) {
7344 return getRuleContext(VariableContext.class,i);
7345 }
7346 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
7347 public TerminalNode COMMA_(int i) {
7348 return getToken(HiveStatementParser.COMMA_, i);
7349 }
7350 public TerminalNode DUMPFILE() { return getToken(HiveStatementParser.DUMPFILE, 0); }
7351 public String_Context string_() {
7352 return getRuleContext(String_Context.class,0);
7353 }
7354 public TerminalNode OUTFILE() { return getToken(HiveStatementParser.OUTFILE, 0); }
7355 public TerminalNode CHARACTER() { return getToken(HiveStatementParser.CHARACTER, 0); }
7356 public TerminalNode SET() { return getToken(HiveStatementParser.SET, 0); }
7357 public CharsetNameContext charsetName() {
7358 return getRuleContext(CharsetNameContext.class,0);
7359 }
7360 public TerminalNode COLUMNS() { return getToken(HiveStatementParser.COLUMNS, 0); }
7361 public TerminalNode LINES() { return getToken(HiveStatementParser.LINES, 0); }
7362 public List<SelectFieldsIntoContext> selectFieldsInto() {
7363 return getRuleContexts(SelectFieldsIntoContext.class);
7364 }
7365 public SelectFieldsIntoContext selectFieldsInto(int i) {
7366 return getRuleContext(SelectFieldsIntoContext.class,i);
7367 }
7368 public List<SelectLinesIntoContext> selectLinesInto() {
7369 return getRuleContexts(SelectLinesIntoContext.class);
7370 }
7371 public SelectLinesIntoContext selectLinesInto(int i) {
7372 return getRuleContext(SelectLinesIntoContext.class,i);
7373 }
7374 public SelectIntoExpressionContext(ParserRuleContext parent, int invokingState) {
7375 super(parent, invokingState);
7376 }
7377 @Override public int getRuleIndex() { return RULE_selectIntoExpression; }
7378 @Override
7379 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7380 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSelectIntoExpression(this);
7381 else return visitor.visitChildren(this);
7382 }
7383 }
7384
7385 public final SelectIntoExpressionContext selectIntoExpression() throws RecognitionException {
7386 SelectIntoExpressionContext _localctx = new SelectIntoExpressionContext(_ctx, getState());
7387 enterRule(_localctx, 130, RULE_selectIntoExpression);
7388 try {
7389 int _alt;
7390 setState(1193);
7391 _errHandler.sync(this);
7392 switch ( getInterpreter().adaptivePredict(_input,125,_ctx) ) {
7393 case 1:
7394 enterOuterAlt(_localctx, 1);
7395 {
7396 setState(1157);
7397 match(INTO);
7398 setState(1158);
7399 variable();
7400 setState(1163);
7401 _errHandler.sync(this);
7402 _alt = getInterpreter().adaptivePredict(_input,119,_ctx);
7403 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
7404 if ( _alt==1 ) {
7405 {
7406 {
7407 setState(1159);
7408 match(COMMA_);
7409 setState(1160);
7410 variable();
7411 }
7412 }
7413 }
7414 setState(1165);
7415 _errHandler.sync(this);
7416 _alt = getInterpreter().adaptivePredict(_input,119,_ctx);
7417 }
7418 }
7419 break;
7420 case 2:
7421 enterOuterAlt(_localctx, 2);
7422 {
7423 setState(1166);
7424 match(INTO);
7425 setState(1167);
7426 match(DUMPFILE);
7427 setState(1168);
7428 string_();
7429 }
7430 break;
7431 case 3:
7432 enterOuterAlt(_localctx, 3);
7433 {
7434 {
7435 setState(1169);
7436 match(INTO);
7437 setState(1170);
7438 match(OUTFILE);
7439 setState(1171);
7440 string_();
7441 setState(1175);
7442 _errHandler.sync(this);
7443 switch ( getInterpreter().adaptivePredict(_input,120,_ctx) ) {
7444 case 1:
7445 {
7446 setState(1172);
7447 match(CHARACTER);
7448 setState(1173);
7449 match(SET);
7450 setState(1174);
7451 charsetName();
7452 }
7453 break;
7454 }
7455 setState(1183);
7456 _errHandler.sync(this);
7457 switch ( getInterpreter().adaptivePredict(_input,122,_ctx) ) {
7458 case 1:
7459 {
7460 setState(1177);
7461 match(COLUMNS);
7462 setState(1179);
7463 _errHandler.sync(this);
7464 _alt = 1;
7465 do {
7466 switch (_alt) {
7467 case 1:
7468 {
7469 {
7470 setState(1178);
7471 selectFieldsInto();
7472 }
7473 }
7474 break;
7475 default:
7476 throw new NoViableAltException(this);
7477 }
7478 setState(1181);
7479 _errHandler.sync(this);
7480 _alt = getInterpreter().adaptivePredict(_input,121,_ctx);
7481 } while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
7482 }
7483 break;
7484 }
7485 setState(1191);
7486 _errHandler.sync(this);
7487 switch ( getInterpreter().adaptivePredict(_input,124,_ctx) ) {
7488 case 1:
7489 {
7490 setState(1185);
7491 match(LINES);
7492 setState(1187);
7493 _errHandler.sync(this);
7494 _alt = 1;
7495 do {
7496 switch (_alt) {
7497 case 1:
7498 {
7499 {
7500 setState(1186);
7501 selectLinesInto();
7502 }
7503 }
7504 break;
7505 default:
7506 throw new NoViableAltException(this);
7507 }
7508 setState(1189);
7509 _errHandler.sync(this);
7510 _alt = getInterpreter().adaptivePredict(_input,123,_ctx);
7511 } while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
7512 }
7513 break;
7514 }
7515 }
7516 }
7517 break;
7518 }
7519 }
7520 catch (RecognitionException re) {
7521 _localctx.exception = re;
7522 _errHandler.reportError(this, re);
7523 _errHandler.recover(this, re);
7524 }
7525 finally {
7526 exitRule();
7527 }
7528 return _localctx;
7529 }
7530
7531 public static class LockClauseContext extends ParserRuleContext {
7532 public TerminalNode FOR() { return getToken(HiveStatementParser.FOR, 0); }
7533 public LockStrengthContext lockStrength() {
7534 return getRuleContext(LockStrengthContext.class,0);
7535 }
7536 public TableLockingListContext tableLockingList() {
7537 return getRuleContext(TableLockingListContext.class,0);
7538 }
7539 public LockedRowActionContext lockedRowAction() {
7540 return getRuleContext(LockedRowActionContext.class,0);
7541 }
7542 public TerminalNode LOCK() { return getToken(HiveStatementParser.LOCK, 0); }
7543 public TerminalNode IN() { return getToken(HiveStatementParser.IN, 0); }
7544 public TerminalNode SHARE() { return getToken(HiveStatementParser.SHARE, 0); }
7545 public TerminalNode MODE() { return getToken(HiveStatementParser.MODE, 0); }
7546 public LockClauseContext(ParserRuleContext parent, int invokingState) {
7547 super(parent, invokingState);
7548 }
7549 @Override public int getRuleIndex() { return RULE_lockClause; }
7550 @Override
7551 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7552 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLockClause(this);
7553 else return visitor.visitChildren(this);
7554 }
7555 }
7556
7557 public final LockClauseContext lockClause() throws RecognitionException {
7558 LockClauseContext _localctx = new LockClauseContext(_ctx, getState());
7559 enterRule(_localctx, 132, RULE_lockClause);
7560 int _la;
7561 try {
7562 setState(1207);
7563 _errHandler.sync(this);
7564 switch (_input.LA(1)) {
7565 case FOR:
7566 enterOuterAlt(_localctx, 1);
7567 {
7568 setState(1195);
7569 match(FOR);
7570 setState(1196);
7571 lockStrength();
7572 setState(1198);
7573 _errHandler.sync(this);
7574 _la = _input.LA(1);
7575 if (_la==OF) {
7576 {
7577 setState(1197);
7578 tableLockingList();
7579 }
7580 }
7581
7582 setState(1201);
7583 _errHandler.sync(this);
7584 _la = _input.LA(1);
7585 if (_la==NOWAIT || _la==SKIP_SYMBOL) {
7586 {
7587 setState(1200);
7588 lockedRowAction();
7589 }
7590 }
7591
7592 }
7593 break;
7594 case LOCK:
7595 enterOuterAlt(_localctx, 2);
7596 {
7597 setState(1203);
7598 match(LOCK);
7599 setState(1204);
7600 match(IN);
7601 setState(1205);
7602 match(SHARE);
7603 setState(1206);
7604 match(MODE);
7605 }
7606 break;
7607 default:
7608 throw new NoViableAltException(this);
7609 }
7610 }
7611 catch (RecognitionException re) {
7612 _localctx.exception = re;
7613 _errHandler.reportError(this, re);
7614 _errHandler.recover(this, re);
7615 }
7616 finally {
7617 exitRule();
7618 }
7619 return _localctx;
7620 }
7621
7622 public static class LockClauseListContext extends ParserRuleContext {
7623 public List<LockClauseContext> lockClause() {
7624 return getRuleContexts(LockClauseContext.class);
7625 }
7626 public LockClauseContext lockClause(int i) {
7627 return getRuleContext(LockClauseContext.class,i);
7628 }
7629 public LockClauseListContext(ParserRuleContext parent, int invokingState) {
7630 super(parent, invokingState);
7631 }
7632 @Override public int getRuleIndex() { return RULE_lockClauseList; }
7633 @Override
7634 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7635 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLockClauseList(this);
7636 else return visitor.visitChildren(this);
7637 }
7638 }
7639
7640 public final LockClauseListContext lockClauseList() throws RecognitionException {
7641 LockClauseListContext _localctx = new LockClauseListContext(_ctx, getState());
7642 enterRule(_localctx, 134, RULE_lockClauseList);
7643 int _la;
7644 try {
7645 enterOuterAlt(_localctx, 1);
7646 {
7647 setState(1210);
7648 _errHandler.sync(this);
7649 _la = _input.LA(1);
7650 do {
7651 {
7652 {
7653 setState(1209);
7654 lockClause();
7655 }
7656 }
7657 setState(1212);
7658 _errHandler.sync(this);
7659 _la = _input.LA(1);
7660 } while ( _la==FOR || _la==LOCK );
7661 }
7662 }
7663 catch (RecognitionException re) {
7664 _localctx.exception = re;
7665 _errHandler.reportError(this, re);
7666 _errHandler.recover(this, re);
7667 }
7668 finally {
7669 exitRule();
7670 }
7671 return _localctx;
7672 }
7673
7674 public static class LockStrengthContext extends ParserRuleContext {
7675 public TerminalNode UPDATE() { return getToken(HiveStatementParser.UPDATE, 0); }
7676 public TerminalNode SHARE() { return getToken(HiveStatementParser.SHARE, 0); }
7677 public LockStrengthContext(ParserRuleContext parent, int invokingState) {
7678 super(parent, invokingState);
7679 }
7680 @Override public int getRuleIndex() { return RULE_lockStrength; }
7681 @Override
7682 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7683 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLockStrength(this);
7684 else return visitor.visitChildren(this);
7685 }
7686 }
7687
7688 public final LockStrengthContext lockStrength() throws RecognitionException {
7689 LockStrengthContext _localctx = new LockStrengthContext(_ctx, getState());
7690 enterRule(_localctx, 136, RULE_lockStrength);
7691 int _la;
7692 try {
7693 enterOuterAlt(_localctx, 1);
7694 {
7695 setState(1214);
7696 _la = _input.LA(1);
7697 if ( !(_la==SHARE || _la==UPDATE) ) {
7698 _errHandler.recoverInline(this);
7699 }
7700 else {
7701 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
7702 _errHandler.reportMatch(this);
7703 consume();
7704 }
7705 }
7706 }
7707 catch (RecognitionException re) {
7708 _localctx.exception = re;
7709 _errHandler.reportError(this, re);
7710 _errHandler.recover(this, re);
7711 }
7712 finally {
7713 exitRule();
7714 }
7715 return _localctx;
7716 }
7717
7718 public static class LockedRowActionContext extends ParserRuleContext {
7719 public TerminalNode SKIP_SYMBOL() { return getToken(HiveStatementParser.SKIP_SYMBOL, 0); }
7720 public TerminalNode LOCKED() { return getToken(HiveStatementParser.LOCKED, 0); }
7721 public TerminalNode NOWAIT() { return getToken(HiveStatementParser.NOWAIT, 0); }
7722 public LockedRowActionContext(ParserRuleContext parent, int invokingState) {
7723 super(parent, invokingState);
7724 }
7725 @Override public int getRuleIndex() { return RULE_lockedRowAction; }
7726 @Override
7727 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7728 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLockedRowAction(this);
7729 else return visitor.visitChildren(this);
7730 }
7731 }
7732
7733 public final LockedRowActionContext lockedRowAction() throws RecognitionException {
7734 LockedRowActionContext _localctx = new LockedRowActionContext(_ctx, getState());
7735 enterRule(_localctx, 138, RULE_lockedRowAction);
7736 try {
7737 setState(1219);
7738 _errHandler.sync(this);
7739 switch (_input.LA(1)) {
7740 case SKIP_SYMBOL:
7741 enterOuterAlt(_localctx, 1);
7742 {
7743 setState(1216);
7744 match(SKIP_SYMBOL);
7745 setState(1217);
7746 match(LOCKED);
7747 }
7748 break;
7749 case NOWAIT:
7750 enterOuterAlt(_localctx, 2);
7751 {
7752 setState(1218);
7753 match(NOWAIT);
7754 }
7755 break;
7756 default:
7757 throw new NoViableAltException(this);
7758 }
7759 }
7760 catch (RecognitionException re) {
7761 _localctx.exception = re;
7762 _errHandler.reportError(this, re);
7763 _errHandler.recover(this, re);
7764 }
7765 finally {
7766 exitRule();
7767 }
7768 return _localctx;
7769 }
7770
7771 public static class TableLockingListContext extends ParserRuleContext {
7772 public TerminalNode OF() { return getToken(HiveStatementParser.OF, 0); }
7773 public TableAliasRefListContext tableAliasRefList() {
7774 return getRuleContext(TableAliasRefListContext.class,0);
7775 }
7776 public TableLockingListContext(ParserRuleContext parent, int invokingState) {
7777 super(parent, invokingState);
7778 }
7779 @Override public int getRuleIndex() { return RULE_tableLockingList; }
7780 @Override
7781 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7782 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableLockingList(this);
7783 else return visitor.visitChildren(this);
7784 }
7785 }
7786
7787 public final TableLockingListContext tableLockingList() throws RecognitionException {
7788 TableLockingListContext _localctx = new TableLockingListContext(_ctx, getState());
7789 enterRule(_localctx, 140, RULE_tableLockingList);
7790 try {
7791 enterOuterAlt(_localctx, 1);
7792 {
7793 setState(1221);
7794 match(OF);
7795 setState(1222);
7796 tableAliasRefList();
7797 }
7798 }
7799 catch (RecognitionException re) {
7800 _localctx.exception = re;
7801 _errHandler.reportError(this, re);
7802 _errHandler.recover(this, re);
7803 }
7804 finally {
7805 exitRule();
7806 }
7807 return _localctx;
7808 }
7809
7810 public static class TableIdentOptWildContext extends ParserRuleContext {
7811 public TableNameContext tableName() {
7812 return getRuleContext(TableNameContext.class,0);
7813 }
7814 public TerminalNode DOT_ASTERISK_() { return getToken(HiveStatementParser.DOT_ASTERISK_, 0); }
7815 public TableIdentOptWildContext(ParserRuleContext parent, int invokingState) {
7816 super(parent, invokingState);
7817 }
7818 @Override public int getRuleIndex() { return RULE_tableIdentOptWild; }
7819 @Override
7820 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7821 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableIdentOptWild(this);
7822 else return visitor.visitChildren(this);
7823 }
7824 }
7825
7826 public final TableIdentOptWildContext tableIdentOptWild() throws RecognitionException {
7827 TableIdentOptWildContext _localctx = new TableIdentOptWildContext(_ctx, getState());
7828 enterRule(_localctx, 142, RULE_tableIdentOptWild);
7829 int _la;
7830 try {
7831 enterOuterAlt(_localctx, 1);
7832 {
7833 setState(1224);
7834 tableName();
7835 setState(1226);
7836 _errHandler.sync(this);
7837 _la = _input.LA(1);
7838 if (_la==DOT_ASTERISK_) {
7839 {
7840 setState(1225);
7841 match(DOT_ASTERISK_);
7842 }
7843 }
7844
7845 }
7846 }
7847 catch (RecognitionException re) {
7848 _localctx.exception = re;
7849 _errHandler.reportError(this, re);
7850 _errHandler.recover(this, re);
7851 }
7852 finally {
7853 exitRule();
7854 }
7855 return _localctx;
7856 }
7857
7858 public static class TableAliasRefListContext extends ParserRuleContext {
7859 public List<TableIdentOptWildContext> tableIdentOptWild() {
7860 return getRuleContexts(TableIdentOptWildContext.class);
7861 }
7862 public TableIdentOptWildContext tableIdentOptWild(int i) {
7863 return getRuleContext(TableIdentOptWildContext.class,i);
7864 }
7865 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
7866 public TerminalNode COMMA_(int i) {
7867 return getToken(HiveStatementParser.COMMA_, i);
7868 }
7869 public TableAliasRefListContext(ParserRuleContext parent, int invokingState) {
7870 super(parent, invokingState);
7871 }
7872 @Override public int getRuleIndex() { return RULE_tableAliasRefList; }
7873 @Override
7874 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7875 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableAliasRefList(this);
7876 else return visitor.visitChildren(this);
7877 }
7878 }
7879
7880 public final TableAliasRefListContext tableAliasRefList() throws RecognitionException {
7881 TableAliasRefListContext _localctx = new TableAliasRefListContext(_ctx, getState());
7882 enterRule(_localctx, 144, RULE_tableAliasRefList);
7883 int _la;
7884 try {
7885 enterOuterAlt(_localctx, 1);
7886 {
7887 setState(1228);
7888 tableIdentOptWild();
7889 setState(1233);
7890 _errHandler.sync(this);
7891 _la = _input.LA(1);
7892 while (_la==COMMA_) {
7893 {
7894 {
7895 setState(1229);
7896 match(COMMA_);
7897 setState(1230);
7898 tableIdentOptWild();
7899 }
7900 }
7901 setState(1235);
7902 _errHandler.sync(this);
7903 _la = _input.LA(1);
7904 }
7905 }
7906 }
7907 catch (RecognitionException re) {
7908 _localctx.exception = re;
7909 _errHandler.reportError(this, re);
7910 _errHandler.recover(this, re);
7911 }
7912 finally {
7913 exitRule();
7914 }
7915 return _localctx;
7916 }
7917
7918 public static class ParameterMarkerContext extends ParserRuleContext {
7919 public TerminalNode QUESTION_() { return getToken(HiveStatementParser.QUESTION_, 0); }
7920 public ParameterMarkerContext(ParserRuleContext parent, int invokingState) {
7921 super(parent, invokingState);
7922 }
7923 @Override public int getRuleIndex() { return RULE_parameterMarker; }
7924 @Override
7925 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7926 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitParameterMarker(this);
7927 else return visitor.visitChildren(this);
7928 }
7929 }
7930
7931 public final ParameterMarkerContext parameterMarker() throws RecognitionException {
7932 ParameterMarkerContext _localctx = new ParameterMarkerContext(_ctx, getState());
7933 enterRule(_localctx, 146, RULE_parameterMarker);
7934 try {
7935 enterOuterAlt(_localctx, 1);
7936 {
7937 setState(1236);
7938 match(QUESTION_);
7939 }
7940 }
7941 catch (RecognitionException re) {
7942 _localctx.exception = re;
7943 _errHandler.reportError(this, re);
7944 _errHandler.recover(this, re);
7945 }
7946 finally {
7947 exitRule();
7948 }
7949 return _localctx;
7950 }
7951
7952 public static class CustomKeywordContext extends ParserRuleContext {
7953 public TerminalNode MAX() { return getToken(HiveStatementParser.MAX, 0); }
7954 public TerminalNode MIN() { return getToken(HiveStatementParser.MIN, 0); }
7955 public TerminalNode SUM() { return getToken(HiveStatementParser.SUM, 0); }
7956 public TerminalNode COUNT() { return getToken(HiveStatementParser.COUNT, 0); }
7957 public TerminalNode GROUP_CONCAT() { return getToken(HiveStatementParser.GROUP_CONCAT, 0); }
7958 public TerminalNode CAST() { return getToken(HiveStatementParser.CAST, 0); }
7959 public TerminalNode POSITION() { return getToken(HiveStatementParser.POSITION, 0); }
7960 public TerminalNode SUBSTRING() { return getToken(HiveStatementParser.SUBSTRING, 0); }
7961 public TerminalNode SUBSTR() { return getToken(HiveStatementParser.SUBSTR, 0); }
7962 public TerminalNode EXTRACT() { return getToken(HiveStatementParser.EXTRACT, 0); }
7963 public TerminalNode TRIM() { return getToken(HiveStatementParser.TRIM, 0); }
7964 public TerminalNode LAST_DAY() { return getToken(HiveStatementParser.LAST_DAY, 0); }
7965 public TerminalNode TRADITIONAL() { return getToken(HiveStatementParser.TRADITIONAL, 0); }
7966 public TerminalNode TREE() { return getToken(HiveStatementParser.TREE, 0); }
7967 public TerminalNode MYSQL_ADMIN() { return getToken(HiveStatementParser.MYSQL_ADMIN, 0); }
7968 public TerminalNode INSTANT() { return getToken(HiveStatementParser.INSTANT, 0); }
7969 public TerminalNode INPLACE() { return getToken(HiveStatementParser.INPLACE, 0); }
7970 public TerminalNode COPY() { return getToken(HiveStatementParser.COPY, 0); }
7971 public TerminalNode UL_BINARY() { return getToken(HiveStatementParser.UL_BINARY, 0); }
7972 public TerminalNode AUTOCOMMIT() { return getToken(HiveStatementParser.AUTOCOMMIT, 0); }
7973 public TerminalNode INNODB() { return getToken(HiveStatementParser.INNODB, 0); }
7974 public TerminalNode REDO_LOG() { return getToken(HiveStatementParser.REDO_LOG, 0); }
7975 public TerminalNode LAST_VALUE() { return getToken(HiveStatementParser.LAST_VALUE, 0); }
7976 public TerminalNode PRIMARY() { return getToken(HiveStatementParser.PRIMARY, 0); }
7977 public TerminalNode MAXVALUE() { return getToken(HiveStatementParser.MAXVALUE, 0); }
7978 public TerminalNode BIT_XOR() { return getToken(HiveStatementParser.BIT_XOR, 0); }
7979 public TerminalNode MYSQL_MAIN() { return getToken(HiveStatementParser.MYSQL_MAIN, 0); }
7980 public TerminalNode UTC_DATE() { return getToken(HiveStatementParser.UTC_DATE, 0); }
7981 public TerminalNode UTC_TIME() { return getToken(HiveStatementParser.UTC_TIME, 0); }
7982 public TerminalNode UTC_TIMESTAMP() { return getToken(HiveStatementParser.UTC_TIMESTAMP, 0); }
7983 public CustomKeywordContext(ParserRuleContext parent, int invokingState) {
7984 super(parent, invokingState);
7985 }
7986 @Override public int getRuleIndex() { return RULE_customKeyword; }
7987 @Override
7988 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7989 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCustomKeyword(this);
7990 else return visitor.visitChildren(this);
7991 }
7992 }
7993
7994 public final CustomKeywordContext customKeyword() throws RecognitionException {
7995 CustomKeywordContext _localctx = new CustomKeywordContext(_ctx, getState());
7996 enterRule(_localctx, 148, RULE_customKeyword);
7997 int _la;
7998 try {
7999 enterOuterAlt(_localctx, 1);
8000 {
8001 setState(1238);
8002 _la = _input.LA(1);
8003 if ( !(((((_la - 47)) & ~0x3f) == 0 && ((1L << (_la - 47)) & ((1L << (MAX - 47)) | (1L << (MIN - 47)) | (1L << (SUM - 47)) | (1L << (COUNT - 47)) | (1L << (GROUP_CONCAT - 47)) | (1L << (CAST - 47)) | (1L << (POSITION - 47)) | (1L << (SUBSTRING - 47)) | (1L << (SUBSTR - 47)) | (1L << (EXTRACT - 47)) | (1L << (TRIM - 47)) | (1L << (LAST_DAY - 47)) | (1L << (TRADITIONAL - 47)) | (1L << (TREE - 47)) | (1L << (MYSQL_MAIN - 47)) | (1L << (MYSQL_ADMIN - 47)) | (1L << (INSTANT - 47)) | (1L << (INPLACE - 47)) | (1L << (COPY - 47)) | (1L << (UL_BINARY - 47)) | (1L << (AUTOCOMMIT - 47)) | (1L << (INNODB - 47)) | (1L << (REDO_LOG - 47)) | (1L << (BIT_XOR - 47)))) != 0) || _la==LAST_VALUE || _la==MAXVALUE || _la==PRIMARY || ((((_la - 776)) & ~0x3f) == 0 && ((1L << (_la - 776)) & ((1L << (UTC_DATE - 776)) | (1L << (UTC_TIME - 776)) | (1L << (UTC_TIMESTAMP - 776)))) != 0)) ) {
8004 _errHandler.recoverInline(this);
8005 }
8006 else {
8007 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8008 _errHandler.reportMatch(this);
8009 consume();
8010 }
8011 }
8012 }
8013 catch (RecognitionException re) {
8014 _localctx.exception = re;
8015 _errHandler.reportError(this, re);
8016 _errHandler.recover(this, re);
8017 }
8018 finally {
8019 exitRule();
8020 }
8021 return _localctx;
8022 }
8023
8024 public static class LiteralsContext extends ParserRuleContext {
8025 public StringLiteralsContext stringLiterals() {
8026 return getRuleContext(StringLiteralsContext.class,0);
8027 }
8028 public NumberLiteralsContext numberLiterals() {
8029 return getRuleContext(NumberLiteralsContext.class,0);
8030 }
8031 public TemporalLiteralsContext temporalLiterals() {
8032 return getRuleContext(TemporalLiteralsContext.class,0);
8033 }
8034 public HexadecimalLiteralsContext hexadecimalLiterals() {
8035 return getRuleContext(HexadecimalLiteralsContext.class,0);
8036 }
8037 public BitValueLiteralsContext bitValueLiterals() {
8038 return getRuleContext(BitValueLiteralsContext.class,0);
8039 }
8040 public BooleanLiteralsContext booleanLiterals() {
8041 return getRuleContext(BooleanLiteralsContext.class,0);
8042 }
8043 public NullValueLiteralsContext nullValueLiterals() {
8044 return getRuleContext(NullValueLiteralsContext.class,0);
8045 }
8046 public LiteralsContext(ParserRuleContext parent, int invokingState) {
8047 super(parent, invokingState);
8048 }
8049 @Override public int getRuleIndex() { return RULE_literals; }
8050 @Override
8051 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8052 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLiterals(this);
8053 else return visitor.visitChildren(this);
8054 }
8055 }
8056
8057 public final LiteralsContext literals() throws RecognitionException {
8058 LiteralsContext _localctx = new LiteralsContext(_ctx, getState());
8059 enterRule(_localctx, 150, RULE_literals);
8060 try {
8061 setState(1247);
8062 _errHandler.sync(this);
8063 switch ( getInterpreter().adaptivePredict(_input,133,_ctx) ) {
8064 case 1:
8065 enterOuterAlt(_localctx, 1);
8066 {
8067 setState(1240);
8068 stringLiterals();
8069 }
8070 break;
8071 case 2:
8072 enterOuterAlt(_localctx, 2);
8073 {
8074 setState(1241);
8075 numberLiterals();
8076 }
8077 break;
8078 case 3:
8079 enterOuterAlt(_localctx, 3);
8080 {
8081 setState(1242);
8082 temporalLiterals();
8083 }
8084 break;
8085 case 4:
8086 enterOuterAlt(_localctx, 4);
8087 {
8088 setState(1243);
8089 hexadecimalLiterals();
8090 }
8091 break;
8092 case 5:
8093 enterOuterAlt(_localctx, 5);
8094 {
8095 setState(1244);
8096 bitValueLiterals();
8097 }
8098 break;
8099 case 6:
8100 enterOuterAlt(_localctx, 6);
8101 {
8102 setState(1245);
8103 booleanLiterals();
8104 }
8105 break;
8106 case 7:
8107 enterOuterAlt(_localctx, 7);
8108 {
8109 setState(1246);
8110 nullValueLiterals();
8111 }
8112 break;
8113 }
8114 }
8115 catch (RecognitionException re) {
8116 _localctx.exception = re;
8117 _errHandler.reportError(this, re);
8118 _errHandler.recover(this, re);
8119 }
8120 finally {
8121 exitRule();
8122 }
8123 return _localctx;
8124 }
8125
8126 public static class String_Context extends ParserRuleContext {
8127 public TerminalNode DOUBLE_QUOTED_TEXT() { return getToken(HiveStatementParser.DOUBLE_QUOTED_TEXT, 0); }
8128 public TerminalNode SINGLE_QUOTED_TEXT() { return getToken(HiveStatementParser.SINGLE_QUOTED_TEXT, 0); }
8129 public String_Context(ParserRuleContext parent, int invokingState) {
8130 super(parent, invokingState);
8131 }
8132 @Override public int getRuleIndex() { return RULE_string_; }
8133 @Override
8134 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8135 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitString_(this);
8136 else return visitor.visitChildren(this);
8137 }
8138 }
8139
8140 public final String_Context string_() throws RecognitionException {
8141 String_Context _localctx = new String_Context(_ctx, getState());
8142 enterRule(_localctx, 152, RULE_string_);
8143 int _la;
8144 try {
8145 enterOuterAlt(_localctx, 1);
8146 {
8147 setState(1249);
8148 _la = _input.LA(1);
8149 if ( !(_la==SINGLE_QUOTED_TEXT || _la==DOUBLE_QUOTED_TEXT) ) {
8150 _errHandler.recoverInline(this);
8151 }
8152 else {
8153 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8154 _errHandler.reportMatch(this);
8155 consume();
8156 }
8157 }
8158 }
8159 catch (RecognitionException re) {
8160 _localctx.exception = re;
8161 _errHandler.reportError(this, re);
8162 _errHandler.recover(this, re);
8163 }
8164 finally {
8165 exitRule();
8166 }
8167 return _localctx;
8168 }
8169
8170 public static class StringLiteralsContext extends ParserRuleContext {
8171 public String_Context string_() {
8172 return getRuleContext(String_Context.class,0);
8173 }
8174 public TerminalNode UNDERSCORE_CHARSET() { return getToken(HiveStatementParser.UNDERSCORE_CHARSET, 0); }
8175 public TerminalNode UL_BINARY() { return getToken(HiveStatementParser.UL_BINARY, 0); }
8176 public TerminalNode NCHAR_TEXT() { return getToken(HiveStatementParser.NCHAR_TEXT, 0); }
8177 public StringLiteralsContext(ParserRuleContext parent, int invokingState) {
8178 super(parent, invokingState);
8179 }
8180 @Override public int getRuleIndex() { return RULE_stringLiterals; }
8181 @Override
8182 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8183 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitStringLiterals(this);
8184 else return visitor.visitChildren(this);
8185 }
8186 }
8187
8188 public final StringLiteralsContext stringLiterals() throws RecognitionException {
8189 StringLiteralsContext _localctx = new StringLiteralsContext(_ctx, getState());
8190 enterRule(_localctx, 154, RULE_stringLiterals);
8191 int _la;
8192 try {
8193 setState(1256);
8194 _errHandler.sync(this);
8195 switch (_input.LA(1)) {
8196 case UL_BINARY:
8197 case SINGLE_QUOTED_TEXT:
8198 case DOUBLE_QUOTED_TEXT:
8199 case UNDERSCORE_CHARSET:
8200 enterOuterAlt(_localctx, 1);
8201 {
8202 setState(1252);
8203 _errHandler.sync(this);
8204 _la = _input.LA(1);
8205 if (_la==UL_BINARY || _la==UNDERSCORE_CHARSET) {
8206 {
8207 setState(1251);
8208 _la = _input.LA(1);
8209 if ( !(_la==UL_BINARY || _la==UNDERSCORE_CHARSET) ) {
8210 _errHandler.recoverInline(this);
8211 }
8212 else {
8213 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8214 _errHandler.reportMatch(this);
8215 consume();
8216 }
8217 }
8218 }
8219
8220 setState(1254);
8221 string_();
8222 }
8223 break;
8224 case NCHAR_TEXT:
8225 enterOuterAlt(_localctx, 2);
8226 {
8227 setState(1255);
8228 match(NCHAR_TEXT);
8229 }
8230 break;
8231 default:
8232 throw new NoViableAltException(this);
8233 }
8234 }
8235 catch (RecognitionException re) {
8236 _localctx.exception = re;
8237 _errHandler.reportError(this, re);
8238 _errHandler.recover(this, re);
8239 }
8240 finally {
8241 exitRule();
8242 }
8243 return _localctx;
8244 }
8245
8246 public static class NumberLiteralsContext extends ParserRuleContext {
8247 public TerminalNode NUMBER_() { return getToken(HiveStatementParser.NUMBER_, 0); }
8248 public TerminalNode PLUS_() { return getToken(HiveStatementParser.PLUS_, 0); }
8249 public TerminalNode MINUS_() { return getToken(HiveStatementParser.MINUS_, 0); }
8250 public NumberLiteralsContext(ParserRuleContext parent, int invokingState) {
8251 super(parent, invokingState);
8252 }
8253 @Override public int getRuleIndex() { return RULE_numberLiterals; }
8254 @Override
8255 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8256 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitNumberLiterals(this);
8257 else return visitor.visitChildren(this);
8258 }
8259 }
8260
8261 public final NumberLiteralsContext numberLiterals() throws RecognitionException {
8262 NumberLiteralsContext _localctx = new NumberLiteralsContext(_ctx, getState());
8263 enterRule(_localctx, 156, RULE_numberLiterals);
8264 int _la;
8265 try {
8266 enterOuterAlt(_localctx, 1);
8267 {
8268 setState(1259);
8269 _errHandler.sync(this);
8270 _la = _input.LA(1);
8271 if (_la==PLUS_ || _la==MINUS_) {
8272 {
8273 setState(1258);
8274 _la = _input.LA(1);
8275 if ( !(_la==PLUS_ || _la==MINUS_) ) {
8276 _errHandler.recoverInline(this);
8277 }
8278 else {
8279 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8280 _errHandler.reportMatch(this);
8281 consume();
8282 }
8283 }
8284 }
8285
8286 setState(1261);
8287 match(NUMBER_);
8288 }
8289 }
8290 catch (RecognitionException re) {
8291 _localctx.exception = re;
8292 _errHandler.reportError(this, re);
8293 _errHandler.recover(this, re);
8294 }
8295 finally {
8296 exitRule();
8297 }
8298 return _localctx;
8299 }
8300
8301 public static class TemporalLiteralsContext extends ParserRuleContext {
8302 public TerminalNode SINGLE_QUOTED_TEXT() { return getToken(HiveStatementParser.SINGLE_QUOTED_TEXT, 0); }
8303 public TerminalNode DATE() { return getToken(HiveStatementParser.DATE, 0); }
8304 public TerminalNode TIME() { return getToken(HiveStatementParser.TIME, 0); }
8305 public TerminalNode TIMESTAMP() { return getToken(HiveStatementParser.TIMESTAMP, 0); }
8306 public TemporalLiteralsContext(ParserRuleContext parent, int invokingState) {
8307 super(parent, invokingState);
8308 }
8309 @Override public int getRuleIndex() { return RULE_temporalLiterals; }
8310 @Override
8311 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8312 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTemporalLiterals(this);
8313 else return visitor.visitChildren(this);
8314 }
8315 }
8316
8317 public final TemporalLiteralsContext temporalLiterals() throws RecognitionException {
8318 TemporalLiteralsContext _localctx = new TemporalLiteralsContext(_ctx, getState());
8319 enterRule(_localctx, 158, RULE_temporalLiterals);
8320 int _la;
8321 try {
8322 enterOuterAlt(_localctx, 1);
8323 {
8324 setState(1263);
8325 _la = _input.LA(1);
8326 if ( !(_la==DATE || _la==TIME || _la==TIMESTAMP) ) {
8327 _errHandler.recoverInline(this);
8328 }
8329 else {
8330 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8331 _errHandler.reportMatch(this);
8332 consume();
8333 }
8334 setState(1264);
8335 match(SINGLE_QUOTED_TEXT);
8336 }
8337 }
8338 catch (RecognitionException re) {
8339 _localctx.exception = re;
8340 _errHandler.reportError(this, re);
8341 _errHandler.recover(this, re);
8342 }
8343 finally {
8344 exitRule();
8345 }
8346 return _localctx;
8347 }
8348
8349 public static class HexadecimalLiteralsContext extends ParserRuleContext {
8350 public TerminalNode HEX_DIGIT_() { return getToken(HiveStatementParser.HEX_DIGIT_, 0); }
8351 public TerminalNode UNDERSCORE_CHARSET() { return getToken(HiveStatementParser.UNDERSCORE_CHARSET, 0); }
8352 public CollateClauseContext collateClause() {
8353 return getRuleContext(CollateClauseContext.class,0);
8354 }
8355 public HexadecimalLiteralsContext(ParserRuleContext parent, int invokingState) {
8356 super(parent, invokingState);
8357 }
8358 @Override public int getRuleIndex() { return RULE_hexadecimalLiterals; }
8359 @Override
8360 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8361 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitHexadecimalLiterals(this);
8362 else return visitor.visitChildren(this);
8363 }
8364 }
8365
8366 public final HexadecimalLiteralsContext hexadecimalLiterals() throws RecognitionException {
8367 HexadecimalLiteralsContext _localctx = new HexadecimalLiteralsContext(_ctx, getState());
8368 enterRule(_localctx, 160, RULE_hexadecimalLiterals);
8369 int _la;
8370 try {
8371 enterOuterAlt(_localctx, 1);
8372 {
8373 setState(1267);
8374 _errHandler.sync(this);
8375 _la = _input.LA(1);
8376 if (_la==UNDERSCORE_CHARSET) {
8377 {
8378 setState(1266);
8379 match(UNDERSCORE_CHARSET);
8380 }
8381 }
8382
8383 setState(1269);
8384 match(HEX_DIGIT_);
8385 setState(1271);
8386 _errHandler.sync(this);
8387 switch ( getInterpreter().adaptivePredict(_input,138,_ctx) ) {
8388 case 1:
8389 {
8390 setState(1270);
8391 collateClause();
8392 }
8393 break;
8394 }
8395 }
8396 }
8397 catch (RecognitionException re) {
8398 _localctx.exception = re;
8399 _errHandler.reportError(this, re);
8400 _errHandler.recover(this, re);
8401 }
8402 finally {
8403 exitRule();
8404 }
8405 return _localctx;
8406 }
8407
8408 public static class BitValueLiteralsContext extends ParserRuleContext {
8409 public TerminalNode BIT_NUM_() { return getToken(HiveStatementParser.BIT_NUM_, 0); }
8410 public TerminalNode UNDERSCORE_CHARSET() { return getToken(HiveStatementParser.UNDERSCORE_CHARSET, 0); }
8411 public CollateClauseContext collateClause() {
8412 return getRuleContext(CollateClauseContext.class,0);
8413 }
8414 public BitValueLiteralsContext(ParserRuleContext parent, int invokingState) {
8415 super(parent, invokingState);
8416 }
8417 @Override public int getRuleIndex() { return RULE_bitValueLiterals; }
8418 @Override
8419 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8420 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitBitValueLiterals(this);
8421 else return visitor.visitChildren(this);
8422 }
8423 }
8424
8425 public final BitValueLiteralsContext bitValueLiterals() throws RecognitionException {
8426 BitValueLiteralsContext _localctx = new BitValueLiteralsContext(_ctx, getState());
8427 enterRule(_localctx, 162, RULE_bitValueLiterals);
8428 int _la;
8429 try {
8430 enterOuterAlt(_localctx, 1);
8431 {
8432 setState(1274);
8433 _errHandler.sync(this);
8434 _la = _input.LA(1);
8435 if (_la==UNDERSCORE_CHARSET) {
8436 {
8437 setState(1273);
8438 match(UNDERSCORE_CHARSET);
8439 }
8440 }
8441
8442 setState(1276);
8443 match(BIT_NUM_);
8444 setState(1278);
8445 _errHandler.sync(this);
8446 switch ( getInterpreter().adaptivePredict(_input,140,_ctx) ) {
8447 case 1:
8448 {
8449 setState(1277);
8450 collateClause();
8451 }
8452 break;
8453 }
8454 }
8455 }
8456 catch (RecognitionException re) {
8457 _localctx.exception = re;
8458 _errHandler.reportError(this, re);
8459 _errHandler.recover(this, re);
8460 }
8461 finally {
8462 exitRule();
8463 }
8464 return _localctx;
8465 }
8466
8467 public static class BooleanLiteralsContext extends ParserRuleContext {
8468 public TerminalNode TRUE() { return getToken(HiveStatementParser.TRUE, 0); }
8469 public TerminalNode FALSE() { return getToken(HiveStatementParser.FALSE, 0); }
8470 public BooleanLiteralsContext(ParserRuleContext parent, int invokingState) {
8471 super(parent, invokingState);
8472 }
8473 @Override public int getRuleIndex() { return RULE_booleanLiterals; }
8474 @Override
8475 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8476 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitBooleanLiterals(this);
8477 else return visitor.visitChildren(this);
8478 }
8479 }
8480
8481 public final BooleanLiteralsContext booleanLiterals() throws RecognitionException {
8482 BooleanLiteralsContext _localctx = new BooleanLiteralsContext(_ctx, getState());
8483 enterRule(_localctx, 164, RULE_booleanLiterals);
8484 int _la;
8485 try {
8486 enterOuterAlt(_localctx, 1);
8487 {
8488 setState(1280);
8489 _la = _input.LA(1);
8490 if ( !(_la==FALSE || _la==TRUE) ) {
8491 _errHandler.recoverInline(this);
8492 }
8493 else {
8494 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8495 _errHandler.reportMatch(this);
8496 consume();
8497 }
8498 }
8499 }
8500 catch (RecognitionException re) {
8501 _localctx.exception = re;
8502 _errHandler.reportError(this, re);
8503 _errHandler.recover(this, re);
8504 }
8505 finally {
8506 exitRule();
8507 }
8508 return _localctx;
8509 }
8510
8511 public static class NullValueLiteralsContext extends ParserRuleContext {
8512 public TerminalNode NULL() { return getToken(HiveStatementParser.NULL, 0); }
8513 public NullValueLiteralsContext(ParserRuleContext parent, int invokingState) {
8514 super(parent, invokingState);
8515 }
8516 @Override public int getRuleIndex() { return RULE_nullValueLiterals; }
8517 @Override
8518 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8519 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitNullValueLiterals(this);
8520 else return visitor.visitChildren(this);
8521 }
8522 }
8523
8524 public final NullValueLiteralsContext nullValueLiterals() throws RecognitionException {
8525 NullValueLiteralsContext _localctx = new NullValueLiteralsContext(_ctx, getState());
8526 enterRule(_localctx, 166, RULE_nullValueLiterals);
8527 try {
8528 enterOuterAlt(_localctx, 1);
8529 {
8530 setState(1282);
8531 match(NULL);
8532 }
8533 }
8534 catch (RecognitionException re) {
8535 _localctx.exception = re;
8536 _errHandler.reportError(this, re);
8537 _errHandler.recover(this, re);
8538 }
8539 finally {
8540 exitRule();
8541 }
8542 return _localctx;
8543 }
8544
8545 public static class CollationNameContext extends ParserRuleContext {
8546 public TextOrIdentifierContext textOrIdentifier() {
8547 return getRuleContext(TextOrIdentifierContext.class,0);
8548 }
8549 public TerminalNode BINARY() { return getToken(HiveStatementParser.BINARY, 0); }
8550 public CollationNameContext(ParserRuleContext parent, int invokingState) {
8551 super(parent, invokingState);
8552 }
8553 @Override public int getRuleIndex() { return RULE_collationName; }
8554 @Override
8555 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8556 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCollationName(this);
8557 else return visitor.visitChildren(this);
8558 }
8559 }
8560
8561 public final CollationNameContext collationName() throws RecognitionException {
8562 CollationNameContext _localctx = new CollationNameContext(_ctx, getState());
8563 enterRule(_localctx, 168, RULE_collationName);
8564 try {
8565 setState(1286);
8566 _errHandler.sync(this);
8567 switch (_input.LA(1)) {
8568 case MAX:
8569 case MIN:
8570 case SUM:
8571 case COUNT:
8572 case GROUP_CONCAT:
8573 case CAST:
8574 case POSITION:
8575 case SUBSTRING:
8576 case SUBSTR:
8577 case EXTRACT:
8578 case TRIM:
8579 case LAST_DAY:
8580 case TRADITIONAL:
8581 case TREE:
8582 case MYSQL_MAIN:
8583 case MYSQL_ADMIN:
8584 case INSTANT:
8585 case INPLACE:
8586 case COPY:
8587 case UL_BINARY:
8588 case AUTOCOMMIT:
8589 case INNODB:
8590 case REDO_LOG:
8591 case ACCOUNT:
8592 case ACTION:
8593 case ACTIVE:
8594 case ADMIN:
8595 case AFTER:
8596 case AGAINST:
8597 case AGGREGATE:
8598 case ALGORITHM:
8599 case ALWAYS:
8600 case ANY:
8601 case ARRAY:
8602 case ASCII:
8603 case AT:
8604 case ATTRIBUTE:
8605 case AUTOEXTEND_SIZE:
8606 case AUTO_INCREMENT:
8607 case AVG:
8608 case BIT_XOR:
8609 case AVG_ROW_LENGTH:
8610 case BACKUP:
8611 case BEGIN:
8612 case BINLOG:
8613 case BIT:
8614 case BLOCK:
8615 case BOOL:
8616 case BOOLEAN:
8617 case BTREE:
8618 case BUCKETS:
8619 case BYTE:
8620 case CACHE:
8621 case CASCADED:
8622 case CATALOG_NAME:
8623 case CHAIN:
8624 case CHANGED:
8625 case CHANNEL:
8626 case CHARSET:
8627 case CHECKSUM:
8628 case CIPHER:
8629 case CLASS_ORIGIN:
8630 case CLIENT:
8631 case CLONE:
8632 case CLOSE:
8633 case COALESCE:
8634 case CODE:
8635 case COLLATION:
8636 case COLUMNS:
8637 case COLUMN_FORMAT:
8638 case COLUMN_NAME:
8639 case COMMENT:
8640 case COMMIT:
8641 case COMMITTED:
8642 case COMPACT:
8643 case COMPLETION:
8644 case COMPONENT:
8645 case COMPRESSED:
8646 case COMPRESSION:
8647 case CONCURRENT:
8648 case CONNECTION:
8649 case CONSISTENT:
8650 case CONSTRAINT_CATALOG:
8651 case CONSTRAINT_NAME:
8652 case CONSTRAINT_SCHEMA:
8653 case CONTAINS:
8654 case CONTEXT:
8655 case CPU:
8656 case CREATE:
8657 case CURRENT:
8658 case CURSOR_NAME:
8659 case DATA:
8660 case DATAFILE:
8661 case DATE:
8662 case DATETIME:
8663 case DAY:
8664 case DAY_MINUTE:
8665 case DEALLOCATE:
8666 case DEFAULT_AUTH:
8667 case DEFINER:
8668 case DEFINITION:
8669 case DELAY_KEY_WRITE:
8670 case DESCRIPTION:
8671 case DIAGNOSTICS:
8672 case DIRECTORY:
8673 case DISABLE:
8674 case DISCARD:
8675 case DISK:
8676 case DO:
8677 case DUMPFILE:
8678 case DUPLICATE:
8679 case DYNAMIC:
8680 case ENABLE:
8681 case ENCRYPTION:
8682 case END:
8683 case ENDS:
8684 case ENFORCED:
8685 case ENGINE:
8686 case ENGINES:
8687 case ENGINE_ATTRIBUTE:
8688 case ENUM:
8689 case ERROR:
8690 case ERRORS:
8691 case ESCAPE:
8692 case EVENT:
8693 case EVENTS:
8694 case EVERY:
8695 case EXCHANGE:
8696 case EXCLUDE:
8697 case EXECUTE:
8698 case EXPANSION:
8699 case EXPIRE:
8700 case EXPORT:
8701 case EXTENDED:
8702 case EXTENT_SIZE:
8703 case FAILED_LOGIN_ATTEMPTS:
8704 case FAST:
8705 case FAULTS:
8706 case FILE:
8707 case FILE_BLOCK_SIZE:
8708 case FILTER:
8709 case FIRST:
8710 case FIXED:
8711 case FLUSH:
8712 case FOLLOWING:
8713 case FOLLOWS:
8714 case FORMAT:
8715 case FOUND:
8716 case FULL:
8717 case GENERAL:
8718 case GEOMETRY:
8719 case GEOMETRYCOLLECTION:
8720 case GET_FORMAT:
8721 case GET_MASTER_PUBLIC_KEY:
8722 case GLOBAL:
8723 case GRANTS:
8724 case GROUP_REPLICATION:
8725 case HANDLER:
8726 case HASH:
8727 case HELP:
8728 case HISTOGRAM:
8729 case HISTORY:
8730 case HOST:
8731 case HOSTS:
8732 case HOUR:
8733 case IDENTIFIED:
8734 case IGNORE_SERVER_IDS:
8735 case IMPORT:
8736 case INACTIVE:
8737 case INDEXES:
8738 case INITIAL_SIZE:
8739 case INSERT_METHOD:
8740 case INSTALL:
8741 case INSTANCE:
8742 case INVISIBLE:
8743 case INVOKER:
8744 case IO:
8745 case IPC:
8746 case ISOLATION:
8747 case ISSUER:
8748 case JSON:
8749 case JSON_VALUE:
8750 case KEY:
8751 case KEY_BLOCK_SIZE:
8752 case LANGUAGE:
8753 case LAST:
8754 case LAST_VALUE:
8755 case LEAVES:
8756 case LESS:
8757 case LEVEL:
8758 case LINESTRING:
8759 case LIST:
8760 case LOCAL:
8761 case LOCKED:
8762 case LOCKS:
8763 case LOGFILE:
8764 case LOGS:
8765 case MASTER:
8766 case MASTER_AUTO_POSITION:
8767 case MASTER_COMPRESSION_ALGORITHM:
8768 case MASTER_CONNECT_RETRY:
8769 case MASTER_DELAY:
8770 case MASTER_HEARTBEAT_PERIOD:
8771 case MASTER_HOST:
8772 case MASTER_LOG_FILE:
8773 case MASTER_LOG_POS:
8774 case MASTER_PASSWORD:
8775 case MASTER_PORT:
8776 case MASTER_PUBLIC_KEY_PATH:
8777 case MASTER_RETRY_COUNT:
8778 case MASTER_SERVER_ID:
8779 case MASTER_SSL:
8780 case MASTER_SSL_CA:
8781 case MASTER_SSL_CAPATH:
8782 case MASTER_SSL_CERT:
8783 case MASTER_SSL_CIPHER:
8784 case MASTER_SSL_CRL:
8785 case MASTER_SSL_CRLPATH:
8786 case MASTER_SSL_KEY:
8787 case MASTER_TLS_CIPHERSUITES:
8788 case MASTER_TLS_VERSION:
8789 case MASTER_USER:
8790 case MASTER_ZSTD_COMPRESSION_LEVEL:
8791 case MAXVALUE:
8792 case MAX_CONNECTIONS_PER_HOUR:
8793 case MAX_QUERIES_PER_HOUR:
8794 case MAX_ROWS:
8795 case MAX_SIZE:
8796 case MAX_UPDATES_PER_HOUR:
8797 case MAX_USER_CONNECTIONS:
8798 case MEDIUM:
8799 case MEMBER:
8800 case MEMORY:
8801 case MERGE:
8802 case MESSAGE_TEXT:
8803 case MICROSECOND:
8804 case MIGRATE:
8805 case MINUTE:
8806 case MIN_ROWS:
8807 case MODE:
8808 case MODIFY:
8809 case MONTH:
8810 case MULTILINESTRING:
8811 case MULTIPOINT:
8812 case MULTIPOLYGON:
8813 case MUTEX:
8814 case MYSQL_ERRNO:
8815 case NAME:
8816 case NAMES:
8817 case NATIONAL:
8818 case NCHAR:
8819 case NDBCLUSTER:
8820 case NESTED:
8821 case NETWORK_NAMESPACE:
8822 case NEVER:
8823 case NEW:
8824 case NEXT:
8825 case NO:
8826 case NODEGROUP:
8827 case NONE:
8828 case NOWAIT:
8829 case NO_WAIT:
8830 case NULLS:
8831 case NUMBER:
8832 case NVARCHAR:
8833 case OFF:
8834 case OFFSET:
8835 case OJ:
8836 case OLD:
8837 case ONE:
8838 case ONLY:
8839 case OPEN:
8840 case OPTIONAL:
8841 case OPTIONS:
8842 case ORDINALITY:
8843 case ORGANIZATION:
8844 case OTHERS:
8845 case OWNER:
8846 case PACK_KEYS:
8847 case PAGE:
8848 case PARSER:
8849 case PARTIAL:
8850 case PARTITIONING:
8851 case PARTITIONS:
8852 case PASSWORD:
8853 case PASSWORD_LOCK_TIME:
8854 case PATH:
8855 case PERSIST:
8856 case PERSIST_ONLY:
8857 case PHASE:
8858 case PLUGIN:
8859 case PLUGINS:
8860 case PLUGIN_DIR:
8861 case POINT:
8862 case POLYGON:
8863 case PORT:
8864 case PRECEDES:
8865 case PRECEDING:
8866 case PREPARE:
8867 case PRESERVE:
8868 case PREV:
8869 case PRIMARY:
8870 case PRIVILEGES:
8871 case PRIVILEGE_CHECKS_USER:
8872 case PROCESS:
8873 case PROCESSLIST:
8874 case PROFILE:
8875 case PROFILES:
8876 case PROXY:
8877 case QUARTER:
8878 case QUERY:
8879 case QUICK:
8880 case RANDOM:
8881 case READ_ONLY:
8882 case REBUILD:
8883 case RECOVER:
8884 case REDO_BUFFER_SIZE:
8885 case REDUNDANT:
8886 case REFERENCE:
8887 case RELAY:
8888 case RELAYLOG:
8889 case RELAY_LOG_FILE:
8890 case RELAY_LOG_POS:
8891 case RELAY_THREAD:
8892 case RELOAD:
8893 case REMOVE:
8894 case REORGANIZE:
8895 case REPAIR:
8896 case REPEATABLE:
8897 case REPLICATE_DO_DB:
8898 case REPLICATE_DO_TABLE:
8899 case REPLICATE_IGNORE_DB:
8900 case REPLICATE_IGNORE_TABLE:
8901 case REPLICATE_REWRITE_DB:
8902 case REPLICATE_WILD_DO_TABLE:
8903 case REPLICATE_WILD_IGNORE_TABLE:
8904 case REPLICATION:
8905 case REQUIRE_ROW_FORMAT:
8906 case RESET:
8907 case RESOURCE:
8908 case RESPECT:
8909 case RESTART:
8910 case RESTORE:
8911 case RESUME:
8912 case RETAIN:
8913 case RETURNED_SQLSTATE:
8914 case RETURNING:
8915 case RETURNS:
8916 case REUSE:
8917 case REVERSE:
8918 case ROLE:
8919 case ROLLBACK:
8920 case ROLLUP:
8921 case ROTATE:
8922 case ROUTINE:
8923 case ROW_COUNT:
8924 case ROW_FORMAT:
8925 case RTREE:
8926 case SAVEPOINT:
8927 case SCHEDULE:
8928 case SCHEMA_NAME:
8929 case SECOND:
8930 case SECONDARY:
8931 case SECONDARY_ENGINE:
8932 case SECONDARY_ENGINE_ATTRIBUTE:
8933 case SECONDARY_LOAD:
8934 case SECONDARY_UNLOAD:
8935 case SECURITY:
8936 case SERIAL:
8937 case SERIALIZABLE:
8938 case SERVER:
8939 case SESSION:
8940 case SHARE:
8941 case SHUTDOWN:
8942 case SIGNED:
8943 case SIMPLE:
8944 case SLAVE:
8945 case SLOW:
8946 case SNAPSHOT:
8947 case SOCKET:
8948 case SONAME:
8949 case SOUNDS:
8950 case SOURCE:
8951 case SQL_AFTER_GTIDS:
8952 case SQL_AFTER_MTS_GAPS:
8953 case SQL_BEFORE_GTIDS:
8954 case SQL_BUFFER_RESULT:
8955 case SQL_NO_CACHE:
8956 case SQL_THREAD:
8957 case SRID:
8958 case STACKED:
8959 case START:
8960 case STARTS:
8961 case STATS_AUTO_RECALC:
8962 case STATS_PERSISTENT:
8963 case STATS_SAMPLE_PAGES:
8964 case STATUS:
8965 case STOP:
8966 case STORAGE:
8967 case STREAM:
8968 case STRING:
8969 case SUBCLASS_ORIGIN:
8970 case SUBJECT:
8971 case SUBPARTITION:
8972 case SUBPARTITIONS:
8973 case SUPER:
8974 case SUSPEND:
8975 case SWAPS:
8976 case SWITCHES:
8977 case SYSTEM:
8978 case TABLE:
8979 case TABLES:
8980 case TABLESPACE:
8981 case TABLE_CHECKSUM:
8982 case TABLE_NAME:
8983 case TEMPORARY:
8984 case TEMPTABLE:
8985 case TEXT:
8986 case THAN:
8987 case THREAD_PRIORITY:
8988 case TIES:
8989 case TIME:
8990 case TIMESTAMP:
8991 case TIMESTAMP_ADD:
8992 case TIMESTAMP_DIFF:
8993 case TLS:
8994 case TRANSACTION:
8995 case TRIGGERS:
8996 case TRUNCATE:
8997 case TYPE:
8998 case TYPES:
8999 case UNBOUNDED:
9000 case UNCOMMITTED:
9001 case UNDEFINED:
9002 case UNDOFILE:
9003 case UNDO_BUFFER_SIZE:
9004 case UNICODE:
9005 case UNINSTALL:
9006 case UNKNOWN:
9007 case UNTIL:
9008 case UPGRADE:
9009 case USER:
9010 case USER_RESOURCES:
9011 case USE_FRM:
9012 case UTC_DATE:
9013 case UTC_TIME:
9014 case UTC_TIMESTAMP:
9015 case VALIDATION:
9016 case VALUE:
9017 case VARIABLES:
9018 case VCPU:
9019 case VIEW:
9020 case VISIBLE:
9021 case WAIT:
9022 case WARNINGS:
9023 case WEEK:
9024 case WEIGHT_STRING:
9025 case WITHOUT:
9026 case WORK:
9027 case WRAPPER:
9028 case X509:
9029 case XA:
9030 case XID:
9031 case XML:
9032 case YEAR:
9033 case YEAR_MONTH:
9034 case SINGLE_QUOTED_TEXT:
9035 case DOUBLE_QUOTED_TEXT:
9036 case BQUOTA_STRING:
9037 case UNDERSCORE_CHARSET:
9038 case IDENTIFIER_:
9039 case IP_ADDRESS:
9040 enterOuterAlt(_localctx, 1);
9041 {
9042 setState(1284);
9043 textOrIdentifier();
9044 }
9045 break;
9046 case BINARY:
9047 enterOuterAlt(_localctx, 2);
9048 {
9049 setState(1285);
9050 match(BINARY);
9051 }
9052 break;
9053 default:
9054 throw new NoViableAltException(this);
9055 }
9056 }
9057 catch (RecognitionException re) {
9058 _localctx.exception = re;
9059 _errHandler.reportError(this, re);
9060 _errHandler.recover(this, re);
9061 }
9062 finally {
9063 exitRule();
9064 }
9065 return _localctx;
9066 }
9067
9068 public static class IdentifierContext extends ParserRuleContext {
9069 public TerminalNode IDENTIFIER_() { return getToken(HiveStatementParser.IDENTIFIER_, 0); }
9070 public IdentifierKeywordsUnambiguousContext identifierKeywordsUnambiguous() {
9071 return getRuleContext(IdentifierKeywordsUnambiguousContext.class,0);
9072 }
9073 public IdentifierKeywordsAmbiguous1RolesAndLabelsContext identifierKeywordsAmbiguous1RolesAndLabels() {
9074 return getRuleContext(IdentifierKeywordsAmbiguous1RolesAndLabelsContext.class,0);
9075 }
9076 public IdentifierKeywordsAmbiguous2LabelsContext identifierKeywordsAmbiguous2Labels() {
9077 return getRuleContext(IdentifierKeywordsAmbiguous2LabelsContext.class,0);
9078 }
9079 public IdentifierKeywordsAmbiguous3RolesContext identifierKeywordsAmbiguous3Roles() {
9080 return getRuleContext(IdentifierKeywordsAmbiguous3RolesContext.class,0);
9081 }
9082 public IdentifierKeywordsAmbiguous4SystemVariablesContext identifierKeywordsAmbiguous4SystemVariables() {
9083 return getRuleContext(IdentifierKeywordsAmbiguous4SystemVariablesContext.class,0);
9084 }
9085 public CustomKeywordContext customKeyword() {
9086 return getRuleContext(CustomKeywordContext.class,0);
9087 }
9088 public TerminalNode DOUBLE_QUOTED_TEXT() { return getToken(HiveStatementParser.DOUBLE_QUOTED_TEXT, 0); }
9089 public TerminalNode UNDERSCORE_CHARSET() { return getToken(HiveStatementParser.UNDERSCORE_CHARSET, 0); }
9090 public TerminalNode BQUOTA_STRING() { return getToken(HiveStatementParser.BQUOTA_STRING, 0); }
9091 public IdentifierContext(ParserRuleContext parent, int invokingState) {
9092 super(parent, invokingState);
9093 }
9094 @Override public int getRuleIndex() { return RULE_identifier; }
9095 @Override
9096 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9097 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIdentifier(this);
9098 else return visitor.visitChildren(this);
9099 }
9100 }
9101
9102 public final IdentifierContext identifier() throws RecognitionException {
9103 IdentifierContext _localctx = new IdentifierContext(_ctx, getState());
9104 enterRule(_localctx, 170, RULE_identifier);
9105 try {
9106 setState(1298);
9107 _errHandler.sync(this);
9108 switch (_input.LA(1)) {
9109 case IDENTIFIER_:
9110 enterOuterAlt(_localctx, 1);
9111 {
9112 setState(1288);
9113 match(IDENTIFIER_);
9114 }
9115 break;
9116 case ACCOUNT:
9117 case ACTION:
9118 case ACTIVE:
9119 case ADMIN:
9120 case AFTER:
9121 case AGAINST:
9122 case AGGREGATE:
9123 case ALGORITHM:
9124 case ALWAYS:
9125 case ANY:
9126 case ARRAY:
9127 case AT:
9128 case ATTRIBUTE:
9129 case AUTOEXTEND_SIZE:
9130 case AUTO_INCREMENT:
9131 case AVG:
9132 case AVG_ROW_LENGTH:
9133 case BACKUP:
9134 case BINLOG:
9135 case BIT:
9136 case BLOCK:
9137 case BOOL:
9138 case BOOLEAN:
9139 case BTREE:
9140 case BUCKETS:
9141 case CASCADED:
9142 case CATALOG_NAME:
9143 case CHAIN:
9144 case CHANGED:
9145 case CHANNEL:
9146 case CIPHER:
9147 case CLASS_ORIGIN:
9148 case CLIENT:
9149 case CLOSE:
9150 case COALESCE:
9151 case CODE:
9152 case COLLATION:
9153 case COLUMNS:
9154 case COLUMN_FORMAT:
9155 case COLUMN_NAME:
9156 case COMMITTED:
9157 case COMPACT:
9158 case COMPLETION:
9159 case COMPONENT:
9160 case COMPRESSED:
9161 case COMPRESSION:
9162 case CONCURRENT:
9163 case CONNECTION:
9164 case CONSISTENT:
9165 case CONSTRAINT_CATALOG:
9166 case CONSTRAINT_NAME:
9167 case CONSTRAINT_SCHEMA:
9168 case CONTEXT:
9169 case CPU:
9170 case CREATE:
9171 case CURRENT:
9172 case CURSOR_NAME:
9173 case DATA:
9174 case DATAFILE:
9175 case DATE:
9176 case DATETIME:
9177 case DAY:
9178 case DAY_MINUTE:
9179 case DEFAULT_AUTH:
9180 case DEFINER:
9181 case DEFINITION:
9182 case DELAY_KEY_WRITE:
9183 case DESCRIPTION:
9184 case DIAGNOSTICS:
9185 case DIRECTORY:
9186 case DISABLE:
9187 case DISCARD:
9188 case DISK:
9189 case DUMPFILE:
9190 case DUPLICATE:
9191 case DYNAMIC:
9192 case ENABLE:
9193 case ENCRYPTION:
9194 case ENDS:
9195 case ENFORCED:
9196 case ENGINE:
9197 case ENGINES:
9198 case ENGINE_ATTRIBUTE:
9199 case ENUM:
9200 case ERROR:
9201 case ERRORS:
9202 case ESCAPE:
9203 case EVENTS:
9204 case EVERY:
9205 case EXCHANGE:
9206 case EXCLUDE:
9207 case EXPANSION:
9208 case EXPIRE:
9209 case EXPORT:
9210 case EXTENDED:
9211 case EXTENT_SIZE:
9212 case FAILED_LOGIN_ATTEMPTS:
9213 case FAST:
9214 case FAULTS:
9215 case FILE_BLOCK_SIZE:
9216 case FILTER:
9217 case FIRST:
9218 case FIXED:
9219 case FOLLOWING:
9220 case FORMAT:
9221 case FOUND:
9222 case FULL:
9223 case GENERAL:
9224 case GEOMETRY:
9225 case GEOMETRYCOLLECTION:
9226 case GET_FORMAT:
9227 case GET_MASTER_PUBLIC_KEY:
9228 case GRANTS:
9229 case GROUP_REPLICATION:
9230 case HASH:
9231 case HISTOGRAM:
9232 case HISTORY:
9233 case HOST:
9234 case HOSTS:
9235 case HOUR:
9236 case IDENTIFIED:
9237 case IGNORE_SERVER_IDS:
9238 case INACTIVE:
9239 case INDEXES:
9240 case INITIAL_SIZE:
9241 case INSERT_METHOD:
9242 case INSTANCE:
9243 case INVISIBLE:
9244 case INVOKER:
9245 case IO:
9246 case IPC:
9247 case ISOLATION:
9248 case ISSUER:
9249 case JSON:
9250 case JSON_VALUE:
9251 case KEY:
9252 case KEY_BLOCK_SIZE:
9253 case LAST:
9254 case LEAVES:
9255 case LESS:
9256 case LEVEL:
9257 case LINESTRING:
9258 case LIST:
9259 case LOCKED:
9260 case LOCKS:
9261 case LOGFILE:
9262 case LOGS:
9263 case MASTER:
9264 case MASTER_AUTO_POSITION:
9265 case MASTER_COMPRESSION_ALGORITHM:
9266 case MASTER_CONNECT_RETRY:
9267 case MASTER_DELAY:
9268 case MASTER_HEARTBEAT_PERIOD:
9269 case MASTER_HOST:
9270 case MASTER_LOG_FILE:
9271 case MASTER_LOG_POS:
9272 case MASTER_PASSWORD:
9273 case MASTER_PORT:
9274 case MASTER_PUBLIC_KEY_PATH:
9275 case MASTER_RETRY_COUNT:
9276 case MASTER_SERVER_ID:
9277 case MASTER_SSL:
9278 case MASTER_SSL_CA:
9279 case MASTER_SSL_CAPATH:
9280 case MASTER_SSL_CERT:
9281 case MASTER_SSL_CIPHER:
9282 case MASTER_SSL_CRL:
9283 case MASTER_SSL_CRLPATH:
9284 case MASTER_SSL_KEY:
9285 case MASTER_TLS_CIPHERSUITES:
9286 case MASTER_TLS_VERSION:
9287 case MASTER_USER:
9288 case MASTER_ZSTD_COMPRESSION_LEVEL:
9289 case MAX_CONNECTIONS_PER_HOUR:
9290 case MAX_QUERIES_PER_HOUR:
9291 case MAX_ROWS:
9292 case MAX_SIZE:
9293 case MAX_UPDATES_PER_HOUR:
9294 case MAX_USER_CONNECTIONS:
9295 case MEDIUM:
9296 case MEMBER:
9297 case MEMORY:
9298 case MERGE:
9299 case MESSAGE_TEXT:
9300 case MICROSECOND:
9301 case MIGRATE:
9302 case MINUTE:
9303 case MIN_ROWS:
9304 case MODE:
9305 case MODIFY:
9306 case MONTH:
9307 case MULTILINESTRING:
9308 case MULTIPOINT:
9309 case MULTIPOLYGON:
9310 case MUTEX:
9311 case MYSQL_ERRNO:
9312 case NAME:
9313 case NAMES:
9314 case NATIONAL:
9315 case NCHAR:
9316 case NDBCLUSTER:
9317 case NESTED:
9318 case NETWORK_NAMESPACE:
9319 case NEVER:
9320 case NEW:
9321 case NEXT:
9322 case NODEGROUP:
9323 case NOWAIT:
9324 case NO_WAIT:
9325 case NULLS:
9326 case NUMBER:
9327 case NVARCHAR:
9328 case OFF:
9329 case OFFSET:
9330 case OJ:
9331 case OLD:
9332 case ONE:
9333 case ONLY:
9334 case OPEN:
9335 case OPTIONAL:
9336 case OPTIONS:
9337 case ORDINALITY:
9338 case ORGANIZATION:
9339 case OTHERS:
9340 case OWNER:
9341 case PACK_KEYS:
9342 case PAGE:
9343 case PARSER:
9344 case PARTIAL:
9345 case PARTITIONING:
9346 case PARTITIONS:
9347 case PASSWORD:
9348 case PASSWORD_LOCK_TIME:
9349 case PATH:
9350 case PHASE:
9351 case PLUGIN:
9352 case PLUGINS:
9353 case PLUGIN_DIR:
9354 case POINT:
9355 case POLYGON:
9356 case PORT:
9357 case PRECEDING:
9358 case PRESERVE:
9359 case PREV:
9360 case PRIVILEGES:
9361 case PRIVILEGE_CHECKS_USER:
9362 case PROCESSLIST:
9363 case PROFILE:
9364 case PROFILES:
9365 case QUARTER:
9366 case QUERY:
9367 case QUICK:
9368 case RANDOM:
9369 case READ_ONLY:
9370 case REBUILD:
9371 case RECOVER:
9372 case REDO_BUFFER_SIZE:
9373 case REDUNDANT:
9374 case REFERENCE:
9375 case RELAY:
9376 case RELAYLOG:
9377 case RELAY_LOG_FILE:
9378 case RELAY_LOG_POS:
9379 case RELAY_THREAD:
9380 case REMOVE:
9381 case REORGANIZE:
9382 case REPEATABLE:
9383 case REPLICATE_DO_DB:
9384 case REPLICATE_DO_TABLE:
9385 case REPLICATE_IGNORE_DB:
9386 case REPLICATE_IGNORE_TABLE:
9387 case REPLICATE_REWRITE_DB:
9388 case REPLICATE_WILD_DO_TABLE:
9389 case REPLICATE_WILD_IGNORE_TABLE:
9390 case REQUIRE_ROW_FORMAT:
9391 case RESPECT:
9392 case RESTORE:
9393 case RESUME:
9394 case RETAIN:
9395 case RETURNED_SQLSTATE:
9396 case RETURNING:
9397 case RETURNS:
9398 case REUSE:
9399 case REVERSE:
9400 case ROLE:
9401 case ROLLUP:
9402 case ROTATE:
9403 case ROUTINE:
9404 case ROW_COUNT:
9405 case ROW_FORMAT:
9406 case RTREE:
9407 case SCHEDULE:
9408 case SCHEMA_NAME:
9409 case SECOND:
9410 case SECONDARY:
9411 case SECONDARY_ENGINE:
9412 case SECONDARY_ENGINE_ATTRIBUTE:
9413 case SECONDARY_LOAD:
9414 case SECONDARY_UNLOAD:
9415 case SECURITY:
9416 case SERIAL:
9417 case SERIALIZABLE:
9418 case SERVER:
9419 case SHARE:
9420 case SIMPLE:
9421 case SLOW:
9422 case SNAPSHOT:
9423 case SOCKET:
9424 case SONAME:
9425 case SOUNDS:
9426 case SOURCE:
9427 case SQL_AFTER_GTIDS:
9428 case SQL_AFTER_MTS_GAPS:
9429 case SQL_BEFORE_GTIDS:
9430 case SQL_BUFFER_RESULT:
9431 case SQL_NO_CACHE:
9432 case SQL_THREAD:
9433 case SRID:
9434 case STACKED:
9435 case STARTS:
9436 case STATS_AUTO_RECALC:
9437 case STATS_PERSISTENT:
9438 case STATS_SAMPLE_PAGES:
9439 case STATUS:
9440 case STORAGE:
9441 case STREAM:
9442 case STRING:
9443 case SUBCLASS_ORIGIN:
9444 case SUBJECT:
9445 case SUBPARTITION:
9446 case SUBPARTITIONS:
9447 case SUSPEND:
9448 case SWAPS:
9449 case SWITCHES:
9450 case SYSTEM:
9451 case TABLE:
9452 case TABLES:
9453 case TABLESPACE:
9454 case TABLE_CHECKSUM:
9455 case TABLE_NAME:
9456 case TEMPORARY:
9457 case TEMPTABLE:
9458 case TEXT:
9459 case THAN:
9460 case THREAD_PRIORITY:
9461 case TIES:
9462 case TIME:
9463 case TIMESTAMP:
9464 case TIMESTAMP_ADD:
9465 case TIMESTAMP_DIFF:
9466 case TLS:
9467 case TRANSACTION:
9468 case TRIGGERS:
9469 case TYPE:
9470 case TYPES:
9471 case UNBOUNDED:
9472 case UNCOMMITTED:
9473 case UNDEFINED:
9474 case UNDOFILE:
9475 case UNDO_BUFFER_SIZE:
9476 case UNKNOWN:
9477 case UNTIL:
9478 case UPGRADE:
9479 case USER:
9480 case USER_RESOURCES:
9481 case USE_FRM:
9482 case VALIDATION:
9483 case VALUE:
9484 case VARIABLES:
9485 case VCPU:
9486 case VIEW:
9487 case VISIBLE:
9488 case WAIT:
9489 case WARNINGS:
9490 case WEEK:
9491 case WEIGHT_STRING:
9492 case WITHOUT:
9493 case WORK:
9494 case WRAPPER:
9495 case X509:
9496 case XID:
9497 case XML:
9498 case YEAR:
9499 case YEAR_MONTH:
9500 enterOuterAlt(_localctx, 2);
9501 {
9502 setState(1289);
9503 identifierKeywordsUnambiguous();
9504 }
9505 break;
9506 case EXECUTE:
9507 case RESTART:
9508 case SHUTDOWN:
9509 enterOuterAlt(_localctx, 3);
9510 {
9511 setState(1290);
9512 identifierKeywordsAmbiguous1RolesAndLabels();
9513 }
9514 break;
9515 case ASCII:
9516 case BEGIN:
9517 case BYTE:
9518 case CACHE:
9519 case CHARSET:
9520 case CHECKSUM:
9521 case CLONE:
9522 case COMMENT:
9523 case COMMIT:
9524 case CONTAINS:
9525 case DEALLOCATE:
9526 case DO:
9527 case END:
9528 case FLUSH:
9529 case FOLLOWS:
9530 case HANDLER:
9531 case HELP:
9532 case IMPORT:
9533 case INSTALL:
9534 case LANGUAGE:
9535 case NO:
9536 case PRECEDES:
9537 case PREPARE:
9538 case REPAIR:
9539 case RESET:
9540 case ROLLBACK:
9541 case SAVEPOINT:
9542 case SIGNED:
9543 case SLAVE:
9544 case START:
9545 case STOP:
9546 case TRUNCATE:
9547 case UNICODE:
9548 case UNINSTALL:
9549 case XA:
9550 enterOuterAlt(_localctx, 4);
9551 {
9552 setState(1291);
9553 identifierKeywordsAmbiguous2Labels();
9554 }
9555 break;
9556 case EVENT:
9557 case FILE:
9558 case NONE:
9559 case PROCESS:
9560 case PROXY:
9561 case RELOAD:
9562 case REPLICATION:
9563 case RESOURCE:
9564 case SUPER:
9565 enterOuterAlt(_localctx, 5);
9566 {
9567 setState(1292);
9568 identifierKeywordsAmbiguous3Roles();
9569 }
9570 break;
9571 case GLOBAL:
9572 case LOCAL:
9573 case PERSIST:
9574 case PERSIST_ONLY:
9575 case SESSION:
9576 enterOuterAlt(_localctx, 6);
9577 {
9578 setState(1293);
9579 identifierKeywordsAmbiguous4SystemVariables();
9580 }
9581 break;
9582 case MAX:
9583 case MIN:
9584 case SUM:
9585 case COUNT:
9586 case GROUP_CONCAT:
9587 case CAST:
9588 case POSITION:
9589 case SUBSTRING:
9590 case SUBSTR:
9591 case EXTRACT:
9592 case TRIM:
9593 case LAST_DAY:
9594 case TRADITIONAL:
9595 case TREE:
9596 case MYSQL_MAIN:
9597 case MYSQL_ADMIN:
9598 case INSTANT:
9599 case INPLACE:
9600 case COPY:
9601 case UL_BINARY:
9602 case AUTOCOMMIT:
9603 case INNODB:
9604 case REDO_LOG:
9605 case BIT_XOR:
9606 case LAST_VALUE:
9607 case MAXVALUE:
9608 case PRIMARY:
9609 case UTC_DATE:
9610 case UTC_TIME:
9611 case UTC_TIMESTAMP:
9612 enterOuterAlt(_localctx, 7);
9613 {
9614 setState(1294);
9615 customKeyword();
9616 }
9617 break;
9618 case DOUBLE_QUOTED_TEXT:
9619 enterOuterAlt(_localctx, 8);
9620 {
9621 setState(1295);
9622 match(DOUBLE_QUOTED_TEXT);
9623 }
9624 break;
9625 case UNDERSCORE_CHARSET:
9626 enterOuterAlt(_localctx, 9);
9627 {
9628 setState(1296);
9629 match(UNDERSCORE_CHARSET);
9630 }
9631 break;
9632 case BQUOTA_STRING:
9633 enterOuterAlt(_localctx, 10);
9634 {
9635 setState(1297);
9636 match(BQUOTA_STRING);
9637 }
9638 break;
9639 default:
9640 throw new NoViableAltException(this);
9641 }
9642 }
9643 catch (RecognitionException re) {
9644 _localctx.exception = re;
9645 _errHandler.reportError(this, re);
9646 _errHandler.recover(this, re);
9647 }
9648 finally {
9649 exitRule();
9650 }
9651 return _localctx;
9652 }
9653
9654 public static class IdentifierKeywordsUnambiguousContext extends ParserRuleContext {
9655 public TerminalNode ACTION() { return getToken(HiveStatementParser.ACTION, 0); }
9656 public TerminalNode ACCOUNT() { return getToken(HiveStatementParser.ACCOUNT, 0); }
9657 public TerminalNode ACTIVE() { return getToken(HiveStatementParser.ACTIVE, 0); }
9658 public TerminalNode ADMIN() { return getToken(HiveStatementParser.ADMIN, 0); }
9659 public TerminalNode AFTER() { return getToken(HiveStatementParser.AFTER, 0); }
9660 public TerminalNode AGAINST() { return getToken(HiveStatementParser.AGAINST, 0); }
9661 public TerminalNode AGGREGATE() { return getToken(HiveStatementParser.AGGREGATE, 0); }
9662 public TerminalNode ALGORITHM() { return getToken(HiveStatementParser.ALGORITHM, 0); }
9663 public TerminalNode ALWAYS() { return getToken(HiveStatementParser.ALWAYS, 0); }
9664 public TerminalNode ANY() { return getToken(HiveStatementParser.ANY, 0); }
9665 public TerminalNode ARRAY() { return getToken(HiveStatementParser.ARRAY, 0); }
9666 public TerminalNode AT() { return getToken(HiveStatementParser.AT, 0); }
9667 public TerminalNode ATTRIBUTE() { return getToken(HiveStatementParser.ATTRIBUTE, 0); }
9668 public TerminalNode AUTOEXTEND_SIZE() { return getToken(HiveStatementParser.AUTOEXTEND_SIZE, 0); }
9669 public TerminalNode AUTO_INCREMENT() { return getToken(HiveStatementParser.AUTO_INCREMENT, 0); }
9670 public TerminalNode AVG_ROW_LENGTH() { return getToken(HiveStatementParser.AVG_ROW_LENGTH, 0); }
9671 public TerminalNode AVG() { return getToken(HiveStatementParser.AVG, 0); }
9672 public TerminalNode BACKUP() { return getToken(HiveStatementParser.BACKUP, 0); }
9673 public TerminalNode BINLOG() { return getToken(HiveStatementParser.BINLOG, 0); }
9674 public TerminalNode BIT() { return getToken(HiveStatementParser.BIT, 0); }
9675 public TerminalNode BLOCK() { return getToken(HiveStatementParser.BLOCK, 0); }
9676 public TerminalNode BOOLEAN() { return getToken(HiveStatementParser.BOOLEAN, 0); }
9677 public TerminalNode BOOL() { return getToken(HiveStatementParser.BOOL, 0); }
9678 public TerminalNode BTREE() { return getToken(HiveStatementParser.BTREE, 0); }
9679 public TerminalNode BUCKETS() { return getToken(HiveStatementParser.BUCKETS, 0); }
9680 public TerminalNode CASCADED() { return getToken(HiveStatementParser.CASCADED, 0); }
9681 public TerminalNode CATALOG_NAME() { return getToken(HiveStatementParser.CATALOG_NAME, 0); }
9682 public TerminalNode CHAIN() { return getToken(HiveStatementParser.CHAIN, 0); }
9683 public TerminalNode CHANGED() { return getToken(HiveStatementParser.CHANGED, 0); }
9684 public TerminalNode CHANNEL() { return getToken(HiveStatementParser.CHANNEL, 0); }
9685 public TerminalNode CIPHER() { return getToken(HiveStatementParser.CIPHER, 0); }
9686 public TerminalNode CLASS_ORIGIN() { return getToken(HiveStatementParser.CLASS_ORIGIN, 0); }
9687 public TerminalNode CLIENT() { return getToken(HiveStatementParser.CLIENT, 0); }
9688 public TerminalNode CLOSE() { return getToken(HiveStatementParser.CLOSE, 0); }
9689 public TerminalNode COALESCE() { return getToken(HiveStatementParser.COALESCE, 0); }
9690 public TerminalNode CODE() { return getToken(HiveStatementParser.CODE, 0); }
9691 public TerminalNode COLLATION() { return getToken(HiveStatementParser.COLLATION, 0); }
9692 public TerminalNode COLUMNS() { return getToken(HiveStatementParser.COLUMNS, 0); }
9693 public TerminalNode COLUMN_FORMAT() { return getToken(HiveStatementParser.COLUMN_FORMAT, 0); }
9694 public TerminalNode COLUMN_NAME() { return getToken(HiveStatementParser.COLUMN_NAME, 0); }
9695 public TerminalNode COMMITTED() { return getToken(HiveStatementParser.COMMITTED, 0); }
9696 public TerminalNode COMPACT() { return getToken(HiveStatementParser.COMPACT, 0); }
9697 public TerminalNode COMPLETION() { return getToken(HiveStatementParser.COMPLETION, 0); }
9698 public TerminalNode COMPONENT() { return getToken(HiveStatementParser.COMPONENT, 0); }
9699 public TerminalNode COMPRESSED() { return getToken(HiveStatementParser.COMPRESSED, 0); }
9700 public TerminalNode COMPRESSION() { return getToken(HiveStatementParser.COMPRESSION, 0); }
9701 public TerminalNode CONCURRENT() { return getToken(HiveStatementParser.CONCURRENT, 0); }
9702 public TerminalNode CONNECTION() { return getToken(HiveStatementParser.CONNECTION, 0); }
9703 public TerminalNode CONSISTENT() { return getToken(HiveStatementParser.CONSISTENT, 0); }
9704 public TerminalNode CONSTRAINT_CATALOG() { return getToken(HiveStatementParser.CONSTRAINT_CATALOG, 0); }
9705 public TerminalNode CONSTRAINT_NAME() { return getToken(HiveStatementParser.CONSTRAINT_NAME, 0); }
9706 public TerminalNode CONSTRAINT_SCHEMA() { return getToken(HiveStatementParser.CONSTRAINT_SCHEMA, 0); }
9707 public TerminalNode CONTEXT() { return getToken(HiveStatementParser.CONTEXT, 0); }
9708 public TerminalNode CPU() { return getToken(HiveStatementParser.CPU, 0); }
9709 public TerminalNode CREATE() { return getToken(HiveStatementParser.CREATE, 0); }
9710 public TerminalNode CURRENT() { return getToken(HiveStatementParser.CURRENT, 0); }
9711 public TerminalNode CURSOR_NAME() { return getToken(HiveStatementParser.CURSOR_NAME, 0); }
9712 public TerminalNode DATAFILE() { return getToken(HiveStatementParser.DATAFILE, 0); }
9713 public TerminalNode DATA() { return getToken(HiveStatementParser.DATA, 0); }
9714 public TerminalNode DATETIME() { return getToken(HiveStatementParser.DATETIME, 0); }
9715 public TerminalNode DATE() { return getToken(HiveStatementParser.DATE, 0); }
9716 public TerminalNode DAY() { return getToken(HiveStatementParser.DAY, 0); }
9717 public TerminalNode DAY_MINUTE() { return getToken(HiveStatementParser.DAY_MINUTE, 0); }
9718 public TerminalNode DEFAULT_AUTH() { return getToken(HiveStatementParser.DEFAULT_AUTH, 0); }
9719 public TerminalNode DEFINER() { return getToken(HiveStatementParser.DEFINER, 0); }
9720 public TerminalNode DEFINITION() { return getToken(HiveStatementParser.DEFINITION, 0); }
9721 public TerminalNode DELAY_KEY_WRITE() { return getToken(HiveStatementParser.DELAY_KEY_WRITE, 0); }
9722 public TerminalNode DESCRIPTION() { return getToken(HiveStatementParser.DESCRIPTION, 0); }
9723 public TerminalNode DIAGNOSTICS() { return getToken(HiveStatementParser.DIAGNOSTICS, 0); }
9724 public TerminalNode DIRECTORY() { return getToken(HiveStatementParser.DIRECTORY, 0); }
9725 public TerminalNode DISABLE() { return getToken(HiveStatementParser.DISABLE, 0); }
9726 public TerminalNode DISCARD() { return getToken(HiveStatementParser.DISCARD, 0); }
9727 public TerminalNode DISK() { return getToken(HiveStatementParser.DISK, 0); }
9728 public TerminalNode DUMPFILE() { return getToken(HiveStatementParser.DUMPFILE, 0); }
9729 public TerminalNode DUPLICATE() { return getToken(HiveStatementParser.DUPLICATE, 0); }
9730 public TerminalNode DYNAMIC() { return getToken(HiveStatementParser.DYNAMIC, 0); }
9731 public TerminalNode ENABLE() { return getToken(HiveStatementParser.ENABLE, 0); }
9732 public TerminalNode ENCRYPTION() { return getToken(HiveStatementParser.ENCRYPTION, 0); }
9733 public TerminalNode ENDS() { return getToken(HiveStatementParser.ENDS, 0); }
9734 public TerminalNode ENFORCED() { return getToken(HiveStatementParser.ENFORCED, 0); }
9735 public TerminalNode ENGINES() { return getToken(HiveStatementParser.ENGINES, 0); }
9736 public TerminalNode ENGINE() { return getToken(HiveStatementParser.ENGINE, 0); }
9737 public TerminalNode ENGINE_ATTRIBUTE() { return getToken(HiveStatementParser.ENGINE_ATTRIBUTE, 0); }
9738 public TerminalNode ENUM() { return getToken(HiveStatementParser.ENUM, 0); }
9739 public TerminalNode ERRORS() { return getToken(HiveStatementParser.ERRORS, 0); }
9740 public TerminalNode ERROR() { return getToken(HiveStatementParser.ERROR, 0); }
9741 public TerminalNode ESCAPE() { return getToken(HiveStatementParser.ESCAPE, 0); }
9742 public TerminalNode EVENTS() { return getToken(HiveStatementParser.EVENTS, 0); }
9743 public TerminalNode EVERY() { return getToken(HiveStatementParser.EVERY, 0); }
9744 public TerminalNode EXCHANGE() { return getToken(HiveStatementParser.EXCHANGE, 0); }
9745 public TerminalNode EXCLUDE() { return getToken(HiveStatementParser.EXCLUDE, 0); }
9746 public TerminalNode EXPANSION() { return getToken(HiveStatementParser.EXPANSION, 0); }
9747 public TerminalNode EXPIRE() { return getToken(HiveStatementParser.EXPIRE, 0); }
9748 public TerminalNode EXPORT() { return getToken(HiveStatementParser.EXPORT, 0); }
9749 public TerminalNode EXTENDED() { return getToken(HiveStatementParser.EXTENDED, 0); }
9750 public TerminalNode EXTENT_SIZE() { return getToken(HiveStatementParser.EXTENT_SIZE, 0); }
9751 public TerminalNode FAILED_LOGIN_ATTEMPTS() { return getToken(HiveStatementParser.FAILED_LOGIN_ATTEMPTS, 0); }
9752 public TerminalNode FAST() { return getToken(HiveStatementParser.FAST, 0); }
9753 public TerminalNode FAULTS() { return getToken(HiveStatementParser.FAULTS, 0); }
9754 public TerminalNode FILE_BLOCK_SIZE() { return getToken(HiveStatementParser.FILE_BLOCK_SIZE, 0); }
9755 public TerminalNode FILTER() { return getToken(HiveStatementParser.FILTER, 0); }
9756 public TerminalNode FIRST() { return getToken(HiveStatementParser.FIRST, 0); }
9757 public TerminalNode FIXED() { return getToken(HiveStatementParser.FIXED, 0); }
9758 public TerminalNode FOLLOWING() { return getToken(HiveStatementParser.FOLLOWING, 0); }
9759 public TerminalNode FORMAT() { return getToken(HiveStatementParser.FORMAT, 0); }
9760 public TerminalNode FOUND() { return getToken(HiveStatementParser.FOUND, 0); }
9761 public TerminalNode FULL() { return getToken(HiveStatementParser.FULL, 0); }
9762 public TerminalNode GENERAL() { return getToken(HiveStatementParser.GENERAL, 0); }
9763 public TerminalNode GEOMETRYCOLLECTION() { return getToken(HiveStatementParser.GEOMETRYCOLLECTION, 0); }
9764 public TerminalNode GEOMETRY() { return getToken(HiveStatementParser.GEOMETRY, 0); }
9765 public TerminalNode GET_FORMAT() { return getToken(HiveStatementParser.GET_FORMAT, 0); }
9766 public TerminalNode GET_MASTER_PUBLIC_KEY() { return getToken(HiveStatementParser.GET_MASTER_PUBLIC_KEY, 0); }
9767 public TerminalNode GRANTS() { return getToken(HiveStatementParser.GRANTS, 0); }
9768 public TerminalNode GROUP_REPLICATION() { return getToken(HiveStatementParser.GROUP_REPLICATION, 0); }
9769 public TerminalNode HASH() { return getToken(HiveStatementParser.HASH, 0); }
9770 public TerminalNode HISTOGRAM() { return getToken(HiveStatementParser.HISTOGRAM, 0); }
9771 public TerminalNode HISTORY() { return getToken(HiveStatementParser.HISTORY, 0); }
9772 public TerminalNode HOSTS() { return getToken(HiveStatementParser.HOSTS, 0); }
9773 public TerminalNode HOST() { return getToken(HiveStatementParser.HOST, 0); }
9774 public TerminalNode HOUR() { return getToken(HiveStatementParser.HOUR, 0); }
9775 public TerminalNode IDENTIFIED() { return getToken(HiveStatementParser.IDENTIFIED, 0); }
9776 public TerminalNode IGNORE_SERVER_IDS() { return getToken(HiveStatementParser.IGNORE_SERVER_IDS, 0); }
9777 public TerminalNode INACTIVE() { return getToken(HiveStatementParser.INACTIVE, 0); }
9778 public TerminalNode INDEXES() { return getToken(HiveStatementParser.INDEXES, 0); }
9779 public TerminalNode INITIAL_SIZE() { return getToken(HiveStatementParser.INITIAL_SIZE, 0); }
9780 public TerminalNode INSERT_METHOD() { return getToken(HiveStatementParser.INSERT_METHOD, 0); }
9781 public TerminalNode INSTANCE() { return getToken(HiveStatementParser.INSTANCE, 0); }
9782 public TerminalNode INVISIBLE() { return getToken(HiveStatementParser.INVISIBLE, 0); }
9783 public TerminalNode INVOKER() { return getToken(HiveStatementParser.INVOKER, 0); }
9784 public TerminalNode IO() { return getToken(HiveStatementParser.IO, 0); }
9785 public TerminalNode IPC() { return getToken(HiveStatementParser.IPC, 0); }
9786 public TerminalNode ISOLATION() { return getToken(HiveStatementParser.ISOLATION, 0); }
9787 public TerminalNode ISSUER() { return getToken(HiveStatementParser.ISSUER, 0); }
9788 public TerminalNode JSON() { return getToken(HiveStatementParser.JSON, 0); }
9789 public TerminalNode JSON_VALUE() { return getToken(HiveStatementParser.JSON_VALUE, 0); }
9790 public TerminalNode KEY() { return getToken(HiveStatementParser.KEY, 0); }
9791 public TerminalNode KEY_BLOCK_SIZE() { return getToken(HiveStatementParser.KEY_BLOCK_SIZE, 0); }
9792 public TerminalNode LAST() { return getToken(HiveStatementParser.LAST, 0); }
9793 public TerminalNode LEAVES() { return getToken(HiveStatementParser.LEAVES, 0); }
9794 public TerminalNode LESS() { return getToken(HiveStatementParser.LESS, 0); }
9795 public TerminalNode LEVEL() { return getToken(HiveStatementParser.LEVEL, 0); }
9796 public TerminalNode LINESTRING() { return getToken(HiveStatementParser.LINESTRING, 0); }
9797 public TerminalNode LIST() { return getToken(HiveStatementParser.LIST, 0); }
9798 public TerminalNode LOCKED() { return getToken(HiveStatementParser.LOCKED, 0); }
9799 public TerminalNode LOCKS() { return getToken(HiveStatementParser.LOCKS, 0); }
9800 public TerminalNode LOGFILE() { return getToken(HiveStatementParser.LOGFILE, 0); }
9801 public TerminalNode LOGS() { return getToken(HiveStatementParser.LOGS, 0); }
9802 public TerminalNode MASTER_AUTO_POSITION() { return getToken(HiveStatementParser.MASTER_AUTO_POSITION, 0); }
9803 public TerminalNode MASTER_COMPRESSION_ALGORITHM() { return getToken(HiveStatementParser.MASTER_COMPRESSION_ALGORITHM, 0); }
9804 public TerminalNode MASTER_CONNECT_RETRY() { return getToken(HiveStatementParser.MASTER_CONNECT_RETRY, 0); }
9805 public TerminalNode MASTER_DELAY() { return getToken(HiveStatementParser.MASTER_DELAY, 0); }
9806 public TerminalNode MASTER_HEARTBEAT_PERIOD() { return getToken(HiveStatementParser.MASTER_HEARTBEAT_PERIOD, 0); }
9807 public TerminalNode MASTER_HOST() { return getToken(HiveStatementParser.MASTER_HOST, 0); }
9808 public TerminalNode NETWORK_NAMESPACE() { return getToken(HiveStatementParser.NETWORK_NAMESPACE, 0); }
9809 public TerminalNode MASTER_LOG_FILE() { return getToken(HiveStatementParser.MASTER_LOG_FILE, 0); }
9810 public TerminalNode MASTER_LOG_POS() { return getToken(HiveStatementParser.MASTER_LOG_POS, 0); }
9811 public TerminalNode MASTER_PASSWORD() { return getToken(HiveStatementParser.MASTER_PASSWORD, 0); }
9812 public TerminalNode MASTER_PORT() { return getToken(HiveStatementParser.MASTER_PORT, 0); }
9813 public TerminalNode MASTER_PUBLIC_KEY_PATH() { return getToken(HiveStatementParser.MASTER_PUBLIC_KEY_PATH, 0); }
9814 public TerminalNode MASTER_RETRY_COUNT() { return getToken(HiveStatementParser.MASTER_RETRY_COUNT, 0); }
9815 public TerminalNode MASTER_SERVER_ID() { return getToken(HiveStatementParser.MASTER_SERVER_ID, 0); }
9816 public TerminalNode MASTER_SSL_CAPATH() { return getToken(HiveStatementParser.MASTER_SSL_CAPATH, 0); }
9817 public TerminalNode MASTER_SSL_CA() { return getToken(HiveStatementParser.MASTER_SSL_CA, 0); }
9818 public TerminalNode MASTER_SSL_CERT() { return getToken(HiveStatementParser.MASTER_SSL_CERT, 0); }
9819 public TerminalNode MASTER_SSL_CIPHER() { return getToken(HiveStatementParser.MASTER_SSL_CIPHER, 0); }
9820 public TerminalNode MASTER_SSL_CRLPATH() { return getToken(HiveStatementParser.MASTER_SSL_CRLPATH, 0); }
9821 public TerminalNode MASTER_SSL_CRL() { return getToken(HiveStatementParser.MASTER_SSL_CRL, 0); }
9822 public TerminalNode MASTER_SSL_KEY() { return getToken(HiveStatementParser.MASTER_SSL_KEY, 0); }
9823 public TerminalNode MASTER_SSL() { return getToken(HiveStatementParser.MASTER_SSL, 0); }
9824 public TerminalNode MASTER() { return getToken(HiveStatementParser.MASTER, 0); }
9825 public TerminalNode MASTER_TLS_CIPHERSUITES() { return getToken(HiveStatementParser.MASTER_TLS_CIPHERSUITES, 0); }
9826 public TerminalNode MASTER_TLS_VERSION() { return getToken(HiveStatementParser.MASTER_TLS_VERSION, 0); }
9827 public TerminalNode MASTER_USER() { return getToken(HiveStatementParser.MASTER_USER, 0); }
9828 public TerminalNode MASTER_ZSTD_COMPRESSION_LEVEL() { return getToken(HiveStatementParser.MASTER_ZSTD_COMPRESSION_LEVEL, 0); }
9829 public TerminalNode MAX_CONNECTIONS_PER_HOUR() { return getToken(HiveStatementParser.MAX_CONNECTIONS_PER_HOUR, 0); }
9830 public TerminalNode MAX_QUERIES_PER_HOUR() { return getToken(HiveStatementParser.MAX_QUERIES_PER_HOUR, 0); }
9831 public TerminalNode MAX_ROWS() { return getToken(HiveStatementParser.MAX_ROWS, 0); }
9832 public TerminalNode MAX_SIZE() { return getToken(HiveStatementParser.MAX_SIZE, 0); }
9833 public TerminalNode MAX_UPDATES_PER_HOUR() { return getToken(HiveStatementParser.MAX_UPDATES_PER_HOUR, 0); }
9834 public TerminalNode MAX_USER_CONNECTIONS() { return getToken(HiveStatementParser.MAX_USER_CONNECTIONS, 0); }
9835 public TerminalNode MEDIUM() { return getToken(HiveStatementParser.MEDIUM, 0); }
9836 public TerminalNode MEMBER() { return getToken(HiveStatementParser.MEMBER, 0); }
9837 public TerminalNode MEMORY() { return getToken(HiveStatementParser.MEMORY, 0); }
9838 public TerminalNode MERGE() { return getToken(HiveStatementParser.MERGE, 0); }
9839 public TerminalNode MESSAGE_TEXT() { return getToken(HiveStatementParser.MESSAGE_TEXT, 0); }
9840 public TerminalNode MICROSECOND() { return getToken(HiveStatementParser.MICROSECOND, 0); }
9841 public TerminalNode MIGRATE() { return getToken(HiveStatementParser.MIGRATE, 0); }
9842 public TerminalNode MINUTE() { return getToken(HiveStatementParser.MINUTE, 0); }
9843 public TerminalNode MIN_ROWS() { return getToken(HiveStatementParser.MIN_ROWS, 0); }
9844 public TerminalNode MODE() { return getToken(HiveStatementParser.MODE, 0); }
9845 public TerminalNode MODIFY() { return getToken(HiveStatementParser.MODIFY, 0); }
9846 public TerminalNode MONTH() { return getToken(HiveStatementParser.MONTH, 0); }
9847 public TerminalNode MULTILINESTRING() { return getToken(HiveStatementParser.MULTILINESTRING, 0); }
9848 public TerminalNode MULTIPOINT() { return getToken(HiveStatementParser.MULTIPOINT, 0); }
9849 public TerminalNode MULTIPOLYGON() { return getToken(HiveStatementParser.MULTIPOLYGON, 0); }
9850 public TerminalNode MUTEX() { return getToken(HiveStatementParser.MUTEX, 0); }
9851 public TerminalNode MYSQL_ERRNO() { return getToken(HiveStatementParser.MYSQL_ERRNO, 0); }
9852 public TerminalNode NAMES() { return getToken(HiveStatementParser.NAMES, 0); }
9853 public TerminalNode NAME() { return getToken(HiveStatementParser.NAME, 0); }
9854 public TerminalNode NATIONAL() { return getToken(HiveStatementParser.NATIONAL, 0); }
9855 public TerminalNode NCHAR() { return getToken(HiveStatementParser.NCHAR, 0); }
9856 public TerminalNode NDBCLUSTER() { return getToken(HiveStatementParser.NDBCLUSTER, 0); }
9857 public TerminalNode NESTED() { return getToken(HiveStatementParser.NESTED, 0); }
9858 public TerminalNode NEVER() { return getToken(HiveStatementParser.NEVER, 0); }
9859 public TerminalNode NEW() { return getToken(HiveStatementParser.NEW, 0); }
9860 public TerminalNode NEXT() { return getToken(HiveStatementParser.NEXT, 0); }
9861 public TerminalNode NODEGROUP() { return getToken(HiveStatementParser.NODEGROUP, 0); }
9862 public TerminalNode NOWAIT() { return getToken(HiveStatementParser.NOWAIT, 0); }
9863 public TerminalNode NO_WAIT() { return getToken(HiveStatementParser.NO_WAIT, 0); }
9864 public TerminalNode NULLS() { return getToken(HiveStatementParser.NULLS, 0); }
9865 public TerminalNode NUMBER() { return getToken(HiveStatementParser.NUMBER, 0); }
9866 public TerminalNode NVARCHAR() { return getToken(HiveStatementParser.NVARCHAR, 0); }
9867 public TerminalNode OFF() { return getToken(HiveStatementParser.OFF, 0); }
9868 public TerminalNode OFFSET() { return getToken(HiveStatementParser.OFFSET, 0); }
9869 public TerminalNode OJ() { return getToken(HiveStatementParser.OJ, 0); }
9870 public TerminalNode OLD() { return getToken(HiveStatementParser.OLD, 0); }
9871 public TerminalNode ONE() { return getToken(HiveStatementParser.ONE, 0); }
9872 public TerminalNode ONLY() { return getToken(HiveStatementParser.ONLY, 0); }
9873 public TerminalNode OPEN() { return getToken(HiveStatementParser.OPEN, 0); }
9874 public TerminalNode OPTIONAL() { return getToken(HiveStatementParser.OPTIONAL, 0); }
9875 public TerminalNode OPTIONS() { return getToken(HiveStatementParser.OPTIONS, 0); }
9876 public TerminalNode ORDINALITY() { return getToken(HiveStatementParser.ORDINALITY, 0); }
9877 public TerminalNode ORGANIZATION() { return getToken(HiveStatementParser.ORGANIZATION, 0); }
9878 public TerminalNode OTHERS() { return getToken(HiveStatementParser.OTHERS, 0); }
9879 public TerminalNode OWNER() { return getToken(HiveStatementParser.OWNER, 0); }
9880 public TerminalNode PACK_KEYS() { return getToken(HiveStatementParser.PACK_KEYS, 0); }
9881 public TerminalNode PAGE() { return getToken(HiveStatementParser.PAGE, 0); }
9882 public TerminalNode PARSER() { return getToken(HiveStatementParser.PARSER, 0); }
9883 public TerminalNode PARTIAL() { return getToken(HiveStatementParser.PARTIAL, 0); }
9884 public TerminalNode PARTITIONING() { return getToken(HiveStatementParser.PARTITIONING, 0); }
9885 public TerminalNode PARTITIONS() { return getToken(HiveStatementParser.PARTITIONS, 0); }
9886 public TerminalNode PASSWORD() { return getToken(HiveStatementParser.PASSWORD, 0); }
9887 public TerminalNode PASSWORD_LOCK_TIME() { return getToken(HiveStatementParser.PASSWORD_LOCK_TIME, 0); }
9888 public TerminalNode PATH() { return getToken(HiveStatementParser.PATH, 0); }
9889 public TerminalNode PHASE() { return getToken(HiveStatementParser.PHASE, 0); }
9890 public TerminalNode PLUGINS() { return getToken(HiveStatementParser.PLUGINS, 0); }
9891 public TerminalNode PLUGIN_DIR() { return getToken(HiveStatementParser.PLUGIN_DIR, 0); }
9892 public TerminalNode PLUGIN() { return getToken(HiveStatementParser.PLUGIN, 0); }
9893 public TerminalNode POINT() { return getToken(HiveStatementParser.POINT, 0); }
9894 public TerminalNode POLYGON() { return getToken(HiveStatementParser.POLYGON, 0); }
9895 public TerminalNode PORT() { return getToken(HiveStatementParser.PORT, 0); }
9896 public TerminalNode PRECEDING() { return getToken(HiveStatementParser.PRECEDING, 0); }
9897 public TerminalNode PRESERVE() { return getToken(HiveStatementParser.PRESERVE, 0); }
9898 public TerminalNode PREV() { return getToken(HiveStatementParser.PREV, 0); }
9899 public TerminalNode PRIVILEGES() { return getToken(HiveStatementParser.PRIVILEGES, 0); }
9900 public TerminalNode PRIVILEGE_CHECKS_USER() { return getToken(HiveStatementParser.PRIVILEGE_CHECKS_USER, 0); }
9901 public TerminalNode PROCESSLIST() { return getToken(HiveStatementParser.PROCESSLIST, 0); }
9902 public TerminalNode PROFILES() { return getToken(HiveStatementParser.PROFILES, 0); }
9903 public TerminalNode PROFILE() { return getToken(HiveStatementParser.PROFILE, 0); }
9904 public TerminalNode QUARTER() { return getToken(HiveStatementParser.QUARTER, 0); }
9905 public TerminalNode QUERY() { return getToken(HiveStatementParser.QUERY, 0); }
9906 public TerminalNode QUICK() { return getToken(HiveStatementParser.QUICK, 0); }
9907 public TerminalNode RANDOM() { return getToken(HiveStatementParser.RANDOM, 0); }
9908 public TerminalNode READ_ONLY() { return getToken(HiveStatementParser.READ_ONLY, 0); }
9909 public TerminalNode REBUILD() { return getToken(HiveStatementParser.REBUILD, 0); }
9910 public TerminalNode RECOVER() { return getToken(HiveStatementParser.RECOVER, 0); }
9911 public TerminalNode REDO_BUFFER_SIZE() { return getToken(HiveStatementParser.REDO_BUFFER_SIZE, 0); }
9912 public TerminalNode REDUNDANT() { return getToken(HiveStatementParser.REDUNDANT, 0); }
9913 public TerminalNode REFERENCE() { return getToken(HiveStatementParser.REFERENCE, 0); }
9914 public TerminalNode RELAY() { return getToken(HiveStatementParser.RELAY, 0); }
9915 public TerminalNode RELAYLOG() { return getToken(HiveStatementParser.RELAYLOG, 0); }
9916 public TerminalNode RELAY_LOG_FILE() { return getToken(HiveStatementParser.RELAY_LOG_FILE, 0); }
9917 public TerminalNode RELAY_LOG_POS() { return getToken(HiveStatementParser.RELAY_LOG_POS, 0); }
9918 public TerminalNode RELAY_THREAD() { return getToken(HiveStatementParser.RELAY_THREAD, 0); }
9919 public TerminalNode REMOVE() { return getToken(HiveStatementParser.REMOVE, 0); }
9920 public TerminalNode REORGANIZE() { return getToken(HiveStatementParser.REORGANIZE, 0); }
9921 public TerminalNode REPEATABLE() { return getToken(HiveStatementParser.REPEATABLE, 0); }
9922 public TerminalNode REPLICATE_DO_DB() { return getToken(HiveStatementParser.REPLICATE_DO_DB, 0); }
9923 public TerminalNode REPLICATE_DO_TABLE() { return getToken(HiveStatementParser.REPLICATE_DO_TABLE, 0); }
9924 public TerminalNode REPLICATE_IGNORE_DB() { return getToken(HiveStatementParser.REPLICATE_IGNORE_DB, 0); }
9925 public TerminalNode REPLICATE_IGNORE_TABLE() { return getToken(HiveStatementParser.REPLICATE_IGNORE_TABLE, 0); }
9926 public TerminalNode REPLICATE_REWRITE_DB() { return getToken(HiveStatementParser.REPLICATE_REWRITE_DB, 0); }
9927 public TerminalNode REPLICATE_WILD_DO_TABLE() { return getToken(HiveStatementParser.REPLICATE_WILD_DO_TABLE, 0); }
9928 public TerminalNode REPLICATE_WILD_IGNORE_TABLE() { return getToken(HiveStatementParser.REPLICATE_WILD_IGNORE_TABLE, 0); }
9929 public TerminalNode REQUIRE_ROW_FORMAT() { return getToken(HiveStatementParser.REQUIRE_ROW_FORMAT, 0); }
9930 public TerminalNode USER_RESOURCES() { return getToken(HiveStatementParser.USER_RESOURCES, 0); }
9931 public TerminalNode RESPECT() { return getToken(HiveStatementParser.RESPECT, 0); }
9932 public TerminalNode RESTORE() { return getToken(HiveStatementParser.RESTORE, 0); }
9933 public TerminalNode RESUME() { return getToken(HiveStatementParser.RESUME, 0); }
9934 public TerminalNode RETAIN() { return getToken(HiveStatementParser.RETAIN, 0); }
9935 public TerminalNode RETURNED_SQLSTATE() { return getToken(HiveStatementParser.RETURNED_SQLSTATE, 0); }
9936 public TerminalNode RETURNING() { return getToken(HiveStatementParser.RETURNING, 0); }
9937 public TerminalNode RETURNS() { return getToken(HiveStatementParser.RETURNS, 0); }
9938 public TerminalNode REUSE() { return getToken(HiveStatementParser.REUSE, 0); }
9939 public TerminalNode REVERSE() { return getToken(HiveStatementParser.REVERSE, 0); }
9940 public TerminalNode ROLE() { return getToken(HiveStatementParser.ROLE, 0); }
9941 public TerminalNode ROLLUP() { return getToken(HiveStatementParser.ROLLUP, 0); }
9942 public TerminalNode ROTATE() { return getToken(HiveStatementParser.ROTATE, 0); }
9943 public TerminalNode ROUTINE() { return getToken(HiveStatementParser.ROUTINE, 0); }
9944 public TerminalNode ROW_COUNT() { return getToken(HiveStatementParser.ROW_COUNT, 0); }
9945 public TerminalNode ROW_FORMAT() { return getToken(HiveStatementParser.ROW_FORMAT, 0); }
9946 public TerminalNode RTREE() { return getToken(HiveStatementParser.RTREE, 0); }
9947 public TerminalNode SCHEDULE() { return getToken(HiveStatementParser.SCHEDULE, 0); }
9948 public TerminalNode SCHEMA_NAME() { return getToken(HiveStatementParser.SCHEMA_NAME, 0); }
9949 public TerminalNode SECONDARY_ENGINE() { return getToken(HiveStatementParser.SECONDARY_ENGINE, 0); }
9950 public TerminalNode SECONDARY_ENGINE_ATTRIBUTE() { return getToken(HiveStatementParser.SECONDARY_ENGINE_ATTRIBUTE, 0); }
9951 public TerminalNode SECONDARY_LOAD() { return getToken(HiveStatementParser.SECONDARY_LOAD, 0); }
9952 public TerminalNode SECONDARY() { return getToken(HiveStatementParser.SECONDARY, 0); }
9953 public TerminalNode SECONDARY_UNLOAD() { return getToken(HiveStatementParser.SECONDARY_UNLOAD, 0); }
9954 public TerminalNode SECOND() { return getToken(HiveStatementParser.SECOND, 0); }
9955 public TerminalNode SECURITY() { return getToken(HiveStatementParser.SECURITY, 0); }
9956 public TerminalNode SERIALIZABLE() { return getToken(HiveStatementParser.SERIALIZABLE, 0); }
9957 public TerminalNode SERIAL() { return getToken(HiveStatementParser.SERIAL, 0); }
9958 public TerminalNode SERVER() { return getToken(HiveStatementParser.SERVER, 0); }
9959 public TerminalNode SHARE() { return getToken(HiveStatementParser.SHARE, 0); }
9960 public TerminalNode SIMPLE() { return getToken(HiveStatementParser.SIMPLE, 0); }
9961 public TerminalNode SLOW() { return getToken(HiveStatementParser.SLOW, 0); }
9962 public TerminalNode SNAPSHOT() { return getToken(HiveStatementParser.SNAPSHOT, 0); }
9963 public TerminalNode SOCKET() { return getToken(HiveStatementParser.SOCKET, 0); }
9964 public TerminalNode SONAME() { return getToken(HiveStatementParser.SONAME, 0); }
9965 public TerminalNode SOUNDS() { return getToken(HiveStatementParser.SOUNDS, 0); }
9966 public TerminalNode SOURCE() { return getToken(HiveStatementParser.SOURCE, 0); }
9967 public TerminalNode SQL_AFTER_GTIDS() { return getToken(HiveStatementParser.SQL_AFTER_GTIDS, 0); }
9968 public TerminalNode SQL_AFTER_MTS_GAPS() { return getToken(HiveStatementParser.SQL_AFTER_MTS_GAPS, 0); }
9969 public TerminalNode SQL_BEFORE_GTIDS() { return getToken(HiveStatementParser.SQL_BEFORE_GTIDS, 0); }
9970 public TerminalNode SQL_BUFFER_RESULT() { return getToken(HiveStatementParser.SQL_BUFFER_RESULT, 0); }
9971 public TerminalNode SQL_NO_CACHE() { return getToken(HiveStatementParser.SQL_NO_CACHE, 0); }
9972 public TerminalNode SQL_THREAD() { return getToken(HiveStatementParser.SQL_THREAD, 0); }
9973 public TerminalNode SRID() { return getToken(HiveStatementParser.SRID, 0); }
9974 public TerminalNode STACKED() { return getToken(HiveStatementParser.STACKED, 0); }
9975 public TerminalNode STARTS() { return getToken(HiveStatementParser.STARTS, 0); }
9976 public TerminalNode STATS_AUTO_RECALC() { return getToken(HiveStatementParser.STATS_AUTO_RECALC, 0); }
9977 public TerminalNode STATS_PERSISTENT() { return getToken(HiveStatementParser.STATS_PERSISTENT, 0); }
9978 public TerminalNode STATS_SAMPLE_PAGES() { return getToken(HiveStatementParser.STATS_SAMPLE_PAGES, 0); }
9979 public TerminalNode STATUS() { return getToken(HiveStatementParser.STATUS, 0); }
9980 public TerminalNode STORAGE() { return getToken(HiveStatementParser.STORAGE, 0); }
9981 public TerminalNode STREAM() { return getToken(HiveStatementParser.STREAM, 0); }
9982 public TerminalNode STRING() { return getToken(HiveStatementParser.STRING, 0); }
9983 public TerminalNode SUBCLASS_ORIGIN() { return getToken(HiveStatementParser.SUBCLASS_ORIGIN, 0); }
9984 public TerminalNode SUBJECT() { return getToken(HiveStatementParser.SUBJECT, 0); }
9985 public TerminalNode SUBPARTITIONS() { return getToken(HiveStatementParser.SUBPARTITIONS, 0); }
9986 public TerminalNode SUBPARTITION() { return getToken(HiveStatementParser.SUBPARTITION, 0); }
9987 public TerminalNode SUSPEND() { return getToken(HiveStatementParser.SUSPEND, 0); }
9988 public TerminalNode SWAPS() { return getToken(HiveStatementParser.SWAPS, 0); }
9989 public TerminalNode SWITCHES() { return getToken(HiveStatementParser.SWITCHES, 0); }
9990 public TerminalNode SYSTEM() { return getToken(HiveStatementParser.SYSTEM, 0); }
9991 public TerminalNode TABLE() { return getToken(HiveStatementParser.TABLE, 0); }
9992 public TerminalNode TABLES() { return getToken(HiveStatementParser.TABLES, 0); }
9993 public TerminalNode TABLESPACE() { return getToken(HiveStatementParser.TABLESPACE, 0); }
9994 public TerminalNode TABLE_CHECKSUM() { return getToken(HiveStatementParser.TABLE_CHECKSUM, 0); }
9995 public TerminalNode TABLE_NAME() { return getToken(HiveStatementParser.TABLE_NAME, 0); }
9996 public TerminalNode TEMPORARY() { return getToken(HiveStatementParser.TEMPORARY, 0); }
9997 public TerminalNode TEMPTABLE() { return getToken(HiveStatementParser.TEMPTABLE, 0); }
9998 public TerminalNode TEXT() { return getToken(HiveStatementParser.TEXT, 0); }
9999 public TerminalNode THAN() { return getToken(HiveStatementParser.THAN, 0); }
10000 public TerminalNode THREAD_PRIORITY() { return getToken(HiveStatementParser.THREAD_PRIORITY, 0); }
10001 public TerminalNode TIES() { return getToken(HiveStatementParser.TIES, 0); }
10002 public TerminalNode TIMESTAMP_ADD() { return getToken(HiveStatementParser.TIMESTAMP_ADD, 0); }
10003 public TerminalNode TIMESTAMP_DIFF() { return getToken(HiveStatementParser.TIMESTAMP_DIFF, 0); }
10004 public TerminalNode TIMESTAMP() { return getToken(HiveStatementParser.TIMESTAMP, 0); }
10005 public TerminalNode TIME() { return getToken(HiveStatementParser.TIME, 0); }
10006 public TerminalNode TLS() { return getToken(HiveStatementParser.TLS, 0); }
10007 public TerminalNode TRANSACTION() { return getToken(HiveStatementParser.TRANSACTION, 0); }
10008 public TerminalNode TRIGGERS() { return getToken(HiveStatementParser.TRIGGERS, 0); }
10009 public TerminalNode TYPES() { return getToken(HiveStatementParser.TYPES, 0); }
10010 public TerminalNode TYPE() { return getToken(HiveStatementParser.TYPE, 0); }
10011 public TerminalNode UNBOUNDED() { return getToken(HiveStatementParser.UNBOUNDED, 0); }
10012 public TerminalNode UNCOMMITTED() { return getToken(HiveStatementParser.UNCOMMITTED, 0); }
10013 public TerminalNode UNDEFINED() { return getToken(HiveStatementParser.UNDEFINED, 0); }
10014 public TerminalNode UNDOFILE() { return getToken(HiveStatementParser.UNDOFILE, 0); }
10015 public TerminalNode UNDO_BUFFER_SIZE() { return getToken(HiveStatementParser.UNDO_BUFFER_SIZE, 0); }
10016 public TerminalNode UNKNOWN() { return getToken(HiveStatementParser.UNKNOWN, 0); }
10017 public TerminalNode UNTIL() { return getToken(HiveStatementParser.UNTIL, 0); }
10018 public TerminalNode UPGRADE() { return getToken(HiveStatementParser.UPGRADE, 0); }
10019 public TerminalNode USER() { return getToken(HiveStatementParser.USER, 0); }
10020 public TerminalNode USE_FRM() { return getToken(HiveStatementParser.USE_FRM, 0); }
10021 public TerminalNode VALIDATION() { return getToken(HiveStatementParser.VALIDATION, 0); }
10022 public TerminalNode VALUE() { return getToken(HiveStatementParser.VALUE, 0); }
10023 public TerminalNode VARIABLES() { return getToken(HiveStatementParser.VARIABLES, 0); }
10024 public TerminalNode VCPU() { return getToken(HiveStatementParser.VCPU, 0); }
10025 public TerminalNode VIEW() { return getToken(HiveStatementParser.VIEW, 0); }
10026 public TerminalNode VISIBLE() { return getToken(HiveStatementParser.VISIBLE, 0); }
10027 public TerminalNode WAIT() { return getToken(HiveStatementParser.WAIT, 0); }
10028 public TerminalNode WARNINGS() { return getToken(HiveStatementParser.WARNINGS, 0); }
10029 public TerminalNode WEEK() { return getToken(HiveStatementParser.WEEK, 0); }
10030 public TerminalNode WEIGHT_STRING() { return getToken(HiveStatementParser.WEIGHT_STRING, 0); }
10031 public TerminalNode WITHOUT() { return getToken(HiveStatementParser.WITHOUT, 0); }
10032 public TerminalNode WORK() { return getToken(HiveStatementParser.WORK, 0); }
10033 public TerminalNode WRAPPER() { return getToken(HiveStatementParser.WRAPPER, 0); }
10034 public TerminalNode X509() { return getToken(HiveStatementParser.X509, 0); }
10035 public TerminalNode XID() { return getToken(HiveStatementParser.XID, 0); }
10036 public TerminalNode XML() { return getToken(HiveStatementParser.XML, 0); }
10037 public TerminalNode YEAR() { return getToken(HiveStatementParser.YEAR, 0); }
10038 public TerminalNode YEAR_MONTH() { return getToken(HiveStatementParser.YEAR_MONTH, 0); }
10039 public IdentifierKeywordsUnambiguousContext(ParserRuleContext parent, int invokingState) {
10040 super(parent, invokingState);
10041 }
10042 @Override public int getRuleIndex() { return RULE_identifierKeywordsUnambiguous; }
10043 @Override
10044 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10045 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIdentifierKeywordsUnambiguous(this);
10046 else return visitor.visitChildren(this);
10047 }
10048 }
10049
10050 public final IdentifierKeywordsUnambiguousContext identifierKeywordsUnambiguous() throws RecognitionException {
10051 IdentifierKeywordsUnambiguousContext _localctx = new IdentifierKeywordsUnambiguousContext(_ctx, getState());
10052 enterRule(_localctx, 172, RULE_identifierKeywordsUnambiguous);
10053 int _la;
10054 try {
10055 enterOuterAlt(_localctx, 1);
10056 {
10057 setState(1300);
10058 _la = _input.LA(1);
10059 if ( !(((((_la - 73)) & ~0x3f) == 0 && ((1L << (_la - 73)) & ((1L << (ACCOUNT - 73)) | (1L << (ACTION - 73)) | (1L << (ACTIVE - 73)) | (1L << (ADMIN - 73)) | (1L << (AFTER - 73)) | (1L << (AGAINST - 73)) | (1L << (AGGREGATE - 73)) | (1L << (ALGORITHM - 73)) | (1L << (ALWAYS - 73)) | (1L << (ANY - 73)) | (1L << (ARRAY - 73)) | (1L << (AT - 73)) | (1L << (ATTRIBUTE - 73)) | (1L << (AUTOEXTEND_SIZE - 73)) | (1L << (AUTO_INCREMENT - 73)) | (1L << (AVG - 73)) | (1L << (AVG_ROW_LENGTH - 73)) | (1L << (BACKUP - 73)) | (1L << (BINLOG - 73)) | (1L << (BIT - 73)) | (1L << (BLOCK - 73)) | (1L << (BOOL - 73)) | (1L << (BOOLEAN - 73)) | (1L << (BTREE - 73)) | (1L << (BUCKETS - 73)) | (1L << (CASCADED - 73)) | (1L << (CATALOG_NAME - 73)) | (1L << (CHAIN - 73)) | (1L << (CHANGED - 73)) | (1L << (CHANNEL - 73)) | (1L << (CIPHER - 73)) | (1L << (CLASS_ORIGIN - 73)))) != 0) || ((((_la - 137)) & ~0x3f) == 0 && ((1L << (_la - 137)) & ((1L << (CLIENT - 137)) | (1L << (CLOSE - 137)) | (1L << (COALESCE - 137)) | (1L << (CODE - 137)) | (1L << (COLLATION - 137)) | (1L << (COLUMNS - 137)) | (1L << (COLUMN_FORMAT - 137)) | (1L << (COLUMN_NAME - 137)) | (1L << (COMMITTED - 137)) | (1L << (COMPACT - 137)) | (1L << (COMPLETION - 137)) | (1L << (COMPONENT - 137)) | (1L << (COMPRESSED - 137)) | (1L << (COMPRESSION - 137)) | (1L << (CONCURRENT - 137)) | (1L << (CONNECTION - 137)) | (1L << (CONSISTENT - 137)) | (1L << (CONSTRAINT_CATALOG - 137)) | (1L << (CONSTRAINT_NAME - 137)) | (1L << (CONSTRAINT_SCHEMA - 137)) | (1L << (CONTEXT - 137)) | (1L << (CPU - 137)) | (1L << (CREATE - 137)) | (1L << (CURRENT - 137)) | (1L << (CURSOR_NAME - 137)) | (1L << (DATA - 137)) | (1L << (DATAFILE - 137)) | (1L << (DATE - 137)) | (1L << (DATETIME - 137)) | (1L << (DAY - 137)) | (1L << (DAY_MINUTE - 137)) | (1L << (DEFAULT_AUTH - 137)) | (1L << (DEFINER - 137)) | (1L << (DEFINITION - 137)) | (1L << (DELAY_KEY_WRITE - 137)))) != 0) || ((((_la - 205)) & ~0x3f) == 0 && ((1L << (_la - 205)) & ((1L << (DESCRIPTION - 205)) | (1L << (DIAGNOSTICS - 205)) | (1L << (DIRECTORY - 205)) | (1L << (DISABLE - 205)) | (1L << (DISCARD - 205)) | (1L << (DISK - 205)) | (1L << (DUMPFILE - 205)) | (1L << (DUPLICATE - 205)) | (1L << (DYNAMIC - 205)) | (1L << (ENABLE - 205)) | (1L << (ENCRYPTION - 205)) | (1L << (ENDS - 205)) | (1L << (ENFORCED - 205)) | (1L << (ENGINE - 205)) | (1L << (ENGINES - 205)) | (1L << (ENGINE_ATTRIBUTE - 205)) | (1L << (ENUM - 205)) | (1L << (ERROR - 205)) | (1L << (ERRORS - 205)) | (1L << (ESCAPE - 205)) | (1L << (EVENTS - 205)) | (1L << (EVERY - 205)) | (1L << (EXCHANGE - 205)) | (1L << (EXCLUDE - 205)) | (1L << (EXPANSION - 205)) | (1L << (EXPIRE - 205)) | (1L << (EXPORT - 205)) | (1L << (EXTENDED - 205)) | (1L << (EXTENT_SIZE - 205)) | (1L << (FAILED_LOGIN_ATTEMPTS - 205)) | (1L << (FAST - 205)) | (1L << (FAULTS - 205)) | (1L << (FILE_BLOCK_SIZE - 205)) | (1L << (FILTER - 205)) | (1L << (FIRST - 205)) | (1L << (FIXED - 205)))) != 0) || ((((_la - 270)) & ~0x3f) == 0 && ((1L << (_la - 270)) & ((1L << (FOLLOWING - 270)) | (1L << (FORMAT - 270)) | (1L << (FOUND - 270)) | (1L << (FULL - 270)) | (1L << (GENERAL - 270)) | (1L << (GEOMETRY - 270)) | (1L << (GEOMETRYCOLLECTION - 270)) | (1L << (GET_FORMAT - 270)) | (1L << (GET_MASTER_PUBLIC_KEY - 270)) | (1L << (GRANTS - 270)) | (1L << (GROUP_REPLICATION - 270)) | (1L << (HASH - 270)) | (1L << (HISTOGRAM - 270)) | (1L << (HISTORY - 270)) | (1L << (HOST - 270)) | (1L << (HOSTS - 270)) | (1L << (HOUR - 270)) | (1L << (IDENTIFIED - 270)) | (1L << (IGNORE_SERVER_IDS - 270)) | (1L << (INACTIVE - 270)) | (1L << (INDEXES - 270)) | (1L << (INITIAL_SIZE - 270)) | (1L << (INSERT_METHOD - 270)) | (1L << (INSTANCE - 270)))) != 0) || ((((_la - 339)) & ~0x3f) == 0 && ((1L << (_la - 339)) & ((1L << (INVISIBLE - 339)) | (1L << (INVOKER - 339)) | (1L << (IO - 339)) | (1L << (IPC - 339)) | (1L << (ISOLATION - 339)) | (1L << (ISSUER - 339)) | (1L << (JSON - 339)) | (1L << (JSON_VALUE - 339)) | (1L << (KEY - 339)) | (1L << (KEY_BLOCK_SIZE - 339)) | (1L << (LAST - 339)) | (1L << (LEAVES - 339)) | (1L << (LESS - 339)) | (1L << (LEVEL - 339)) | (1L << (LINESTRING - 339)) | (1L << (LIST - 339)) | (1L << (LOCKED - 339)) | (1L << (LOCKS - 339)) | (1L << (LOGFILE - 339)) | (1L << (LOGS - 339)) | (1L << (MASTER - 339)) | (1L << (MASTER_AUTO_POSITION - 339)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 339)) | (1L << (MASTER_CONNECT_RETRY - 339)) | (1L << (MASTER_DELAY - 339)) | (1L << (MASTER_HEARTBEAT_PERIOD - 339)) | (1L << (MASTER_HOST - 339)) | (1L << (MASTER_LOG_FILE - 339)) | (1L << (MASTER_LOG_POS - 339)) | (1L << (MASTER_PASSWORD - 339)) | (1L << (MASTER_PORT - 339)))) != 0) || ((((_la - 403)) & ~0x3f) == 0 && ((1L << (_la - 403)) & ((1L << (MASTER_PUBLIC_KEY_PATH - 403)) | (1L << (MASTER_RETRY_COUNT - 403)) | (1L << (MASTER_SERVER_ID - 403)) | (1L << (MASTER_SSL - 403)) | (1L << (MASTER_SSL_CA - 403)) | (1L << (MASTER_SSL_CAPATH - 403)) | (1L << (MASTER_SSL_CERT - 403)) | (1L << (MASTER_SSL_CIPHER - 403)) | (1L << (MASTER_SSL_CRL - 403)) | (1L << (MASTER_SSL_CRLPATH - 403)) | (1L << (MASTER_SSL_KEY - 403)) | (1L << (MASTER_TLS_CIPHERSUITES - 403)) | (1L << (MASTER_TLS_VERSION - 403)) | (1L << (MASTER_USER - 403)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 403)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 403)) | (1L << (MAX_QUERIES_PER_HOUR - 403)) | (1L << (MAX_ROWS - 403)) | (1L << (MAX_SIZE - 403)) | (1L << (MAX_UPDATES_PER_HOUR - 403)) | (1L << (MAX_USER_CONNECTIONS - 403)) | (1L << (MEDIUM - 403)) | (1L << (MEMBER - 403)) | (1L << (MEMORY - 403)) | (1L << (MERGE - 403)) | (1L << (MESSAGE_TEXT - 403)) | (1L << (MICROSECOND - 403)) | (1L << (MIGRATE - 403)) | (1L << (MINUTE - 403)) | (1L << (MIN_ROWS - 403)) | (1L << (MODE - 403)) | (1L << (MODIFY - 403)) | (1L << (MONTH - 403)) | (1L << (MULTILINESTRING - 403)) | (1L << (MULTIPOINT - 403)) | (1L << (MULTIPOLYGON - 403)) | (1L << (MUTEX - 403)) | (1L << (MYSQL_ERRNO - 403)) | (1L << (NAME - 403)) | (1L << (NAMES - 403)) | (1L << (NATIONAL - 403)) | (1L << (NCHAR - 403)) | (1L << (NDBCLUSTER - 403)) | (1L << (NESTED - 403)) | (1L << (NETWORK_NAMESPACE - 403)) | (1L << (NEVER - 403)) | (1L << (NEW - 403)) | (1L << (NEXT - 403)) | (1L << (NODEGROUP - 403)))) != 0) || ((((_la - 471)) & ~0x3f) == 0 && ((1L << (_la - 471)) & ((1L << (NOWAIT - 471)) | (1L << (NO_WAIT - 471)) | (1L << (NULLS - 471)) | (1L << (NUMBER - 471)) | (1L << (NVARCHAR - 471)) | (1L << (OFF - 471)) | (1L << (OFFSET - 471)) | (1L << (OJ - 471)) | (1L << (OLD - 471)) | (1L << (ONE - 471)) | (1L << (ONLY - 471)) | (1L << (OPEN - 471)) | (1L << (OPTIONAL - 471)) | (1L << (OPTIONS - 471)) | (1L << (ORDINALITY - 471)) | (1L << (ORGANIZATION - 471)) | (1L << (OTHERS - 471)) | (1L << (OWNER - 471)) | (1L << (PACK_KEYS - 471)) | (1L << (PAGE - 471)) | (1L << (PARSER - 471)) | (1L << (PARTIAL - 471)) | (1L << (PARTITIONING - 471)) | (1L << (PARTITIONS - 471)) | (1L << (PASSWORD - 471)) | (1L << (PASSWORD_LOCK_TIME - 471)) | (1L << (PATH - 471)) | (1L << (PHASE - 471)) | (1L << (PLUGIN - 471)) | (1L << (PLUGINS - 471)) | (1L << (PLUGIN_DIR - 471)) | (1L << (POINT - 471)) | (1L << (POLYGON - 471)) | (1L << (PORT - 471)) | (1L << (PRECEDING - 471)) | (1L << (PRESERVE - 471)) | (1L << (PREV - 471)) | (1L << (PRIVILEGES - 471)) | (1L << (PRIVILEGE_CHECKS_USER - 471)))) != 0) || ((((_la - 537)) & ~0x3f) == 0 && ((1L << (_la - 537)) & ((1L << (PROCESSLIST - 537)) | (1L << (PROFILE - 537)) | (1L << (PROFILES - 537)) | (1L << (QUARTER - 537)) | (1L << (QUERY - 537)) | (1L << (QUICK - 537)) | (1L << (RANDOM - 537)) | (1L << (READ_ONLY - 537)) | (1L << (REBUILD - 537)) | (1L << (RECOVER - 537)) | (1L << (REDO_BUFFER_SIZE - 537)) | (1L << (REDUNDANT - 537)) | (1L << (REFERENCE - 537)) | (1L << (RELAY - 537)) | (1L << (RELAYLOG - 537)) | (1L << (RELAY_LOG_FILE - 537)) | (1L << (RELAY_LOG_POS - 537)) | (1L << (RELAY_THREAD - 537)) | (1L << (REMOVE - 537)) | (1L << (REORGANIZE - 537)) | (1L << (REPEATABLE - 537)) | (1L << (REPLICATE_DO_DB - 537)) | (1L << (REPLICATE_DO_TABLE - 537)) | (1L << (REPLICATE_IGNORE_DB - 537)) | (1L << (REPLICATE_IGNORE_TABLE - 537)) | (1L << (REPLICATE_REWRITE_DB - 537)) | (1L << (REPLICATE_WILD_DO_TABLE - 537)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 537)) | (1L << (REQUIRE_ROW_FORMAT - 537)) | (1L << (RESPECT - 537)) | (1L << (RESTORE - 537)) | (1L << (RESUME - 537)) | (1L << (RETAIN - 537)) | (1L << (RETURNED_SQLSTATE - 537)) | (1L << (RETURNING - 537)) | (1L << (RETURNS - 537)))) != 0) || ((((_la - 601)) & ~0x3f) == 0 && ((1L << (_la - 601)) & ((1L << (REUSE - 601)) | (1L << (REVERSE - 601)) | (1L << (ROLE - 601)) | (1L << (ROLLUP - 601)) | (1L << (ROTATE - 601)) | (1L << (ROUTINE - 601)) | (1L << (ROW_COUNT - 601)) | (1L << (ROW_FORMAT - 601)) | (1L << (RTREE - 601)) | (1L << (SCHEDULE - 601)) | (1L << (SCHEMA_NAME - 601)) | (1L << (SECOND - 601)) | (1L << (SECONDARY - 601)) | (1L << (SECONDARY_ENGINE - 601)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 601)) | (1L << (SECONDARY_LOAD - 601)) | (1L << (SECONDARY_UNLOAD - 601)) | (1L << (SECURITY - 601)) | (1L << (SERIAL - 601)) | (1L << (SERIALIZABLE - 601)) | (1L << (SERVER - 601)) | (1L << (SHARE - 601)) | (1L << (SIMPLE - 601)) | (1L << (SLOW - 601)) | (1L << (SNAPSHOT - 601)) | (1L << (SOCKET - 601)) | (1L << (SONAME - 601)) | (1L << (SOUNDS - 601)) | (1L << (SOURCE - 601)) | (1L << (SQL_AFTER_GTIDS - 601)) | (1L << (SQL_AFTER_MTS_GAPS - 601)) | (1L << (SQL_BEFORE_GTIDS - 601)))) != 0) || ((((_la - 665)) & ~0x3f) == 0 && ((1L << (_la - 665)) & ((1L << (SQL_BUFFER_RESULT - 665)) | (1L << (SQL_NO_CACHE - 665)) | (1L << (SQL_THREAD - 665)) | (1L << (SRID - 665)) | (1L << (STACKED - 665)) | (1L << (STARTS - 665)) | (1L << (STATS_AUTO_RECALC - 665)) | (1L << (STATS_PERSISTENT - 665)) | (1L << (STATS_SAMPLE_PAGES - 665)) | (1L << (STATUS - 665)) | (1L << (STORAGE - 665)) | (1L << (STREAM - 665)) | (1L << (STRING - 665)) | (1L << (SUBCLASS_ORIGIN - 665)) | (1L << (SUBJECT - 665)) | (1L << (SUBPARTITION - 665)) | (1L << (SUBPARTITIONS - 665)) | (1L << (SUSPEND - 665)) | (1L << (SWAPS - 665)) | (1L << (SWITCHES - 665)) | (1L << (SYSTEM - 665)) | (1L << (TABLE - 665)) | (1L << (TABLES - 665)) | (1L << (TABLESPACE - 665)) | (1L << (TABLE_CHECKSUM - 665)) | (1L << (TABLE_NAME - 665)) | (1L << (TEMPORARY - 665)) | (1L << (TEMPTABLE - 665)))) != 0) || ((((_la - 730)) & ~0x3f) == 0 && ((1L << (_la - 730)) & ((1L << (TEXT - 730)) | (1L << (THAN - 730)) | (1L << (THREAD_PRIORITY - 730)) | (1L << (TIES - 730)) | (1L << (TIME - 730)) | (1L << (TIMESTAMP - 730)) | (1L << (TIMESTAMP_ADD - 730)) | (1L << (TIMESTAMP_DIFF - 730)) | (1L << (TLS - 730)) | (1L << (TRANSACTION - 730)) | (1L << (TRIGGERS - 730)) | (1L << (TYPE - 730)) | (1L << (TYPES - 730)) | (1L << (UNBOUNDED - 730)) | (1L << (UNCOMMITTED - 730)) | (1L << (UNDEFINED - 730)) | (1L << (UNDOFILE - 730)) | (1L << (UNDO_BUFFER_SIZE - 730)) | (1L << (UNKNOWN - 730)) | (1L << (UNTIL - 730)) | (1L << (UPGRADE - 730)) | (1L << (USER - 730)) | (1L << (USER_RESOURCES - 730)) | (1L << (USE_FRM - 730)) | (1L << (VALIDATION - 730)) | (1L << (VALUE - 730)) | (1L << (VARIABLES - 730)) | (1L << (VCPU - 730)) | (1L << (VIEW - 730)) | (1L << (VISIBLE - 730)) | (1L << (WAIT - 730)) | (1L << (WARNINGS - 730)) | (1L << (WEEK - 730)))) != 0) || ((((_la - 794)) & ~0x3f) == 0 && ((1L << (_la - 794)) & ((1L << (WEIGHT_STRING - 794)) | (1L << (WITHOUT - 794)) | (1L << (WORK - 794)) | (1L << (WRAPPER - 794)) | (1L << (X509 - 794)) | (1L << (XID - 794)) | (1L << (XML - 794)) | (1L << (YEAR - 794)) | (1L << (YEAR_MONTH - 794)))) != 0)) ) {
10060 _errHandler.recoverInline(this);
10061 }
10062 else {
10063 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10064 _errHandler.reportMatch(this);
10065 consume();
10066 }
10067 }
10068 }
10069 catch (RecognitionException re) {
10070 _localctx.exception = re;
10071 _errHandler.reportError(this, re);
10072 _errHandler.recover(this, re);
10073 }
10074 finally {
10075 exitRule();
10076 }
10077 return _localctx;
10078 }
10079
10080 public static class IdentifierKeywordsAmbiguous1RolesAndLabelsContext extends ParserRuleContext {
10081 public TerminalNode EXECUTE() { return getToken(HiveStatementParser.EXECUTE, 0); }
10082 public TerminalNode RESTART() { return getToken(HiveStatementParser.RESTART, 0); }
10083 public TerminalNode SHUTDOWN() { return getToken(HiveStatementParser.SHUTDOWN, 0); }
10084 public IdentifierKeywordsAmbiguous1RolesAndLabelsContext(ParserRuleContext parent, int invokingState) {
10085 super(parent, invokingState);
10086 }
10087 @Override public int getRuleIndex() { return RULE_identifierKeywordsAmbiguous1RolesAndLabels; }
10088 @Override
10089 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10090 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIdentifierKeywordsAmbiguous1RolesAndLabels(this);
10091 else return visitor.visitChildren(this);
10092 }
10093 }
10094
10095 public final IdentifierKeywordsAmbiguous1RolesAndLabelsContext identifierKeywordsAmbiguous1RolesAndLabels() throws RecognitionException {
10096 IdentifierKeywordsAmbiguous1RolesAndLabelsContext _localctx = new IdentifierKeywordsAmbiguous1RolesAndLabelsContext(_ctx, getState());
10097 enterRule(_localctx, 174, RULE_identifierKeywordsAmbiguous1RolesAndLabels);
10098 int _la;
10099 try {
10100 enterOuterAlt(_localctx, 1);
10101 {
10102 setState(1302);
10103 _la = _input.LA(1);
10104 if ( !(_la==EXECUTE || _la==RESTART || _la==SHUTDOWN) ) {
10105 _errHandler.recoverInline(this);
10106 }
10107 else {
10108 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10109 _errHandler.reportMatch(this);
10110 consume();
10111 }
10112 }
10113 }
10114 catch (RecognitionException re) {
10115 _localctx.exception = re;
10116 _errHandler.reportError(this, re);
10117 _errHandler.recover(this, re);
10118 }
10119 finally {
10120 exitRule();
10121 }
10122 return _localctx;
10123 }
10124
10125 public static class IdentifierKeywordsAmbiguous2LabelsContext extends ParserRuleContext {
10126 public TerminalNode ASCII() { return getToken(HiveStatementParser.ASCII, 0); }
10127 public TerminalNode BEGIN() { return getToken(HiveStatementParser.BEGIN, 0); }
10128 public TerminalNode BYTE() { return getToken(HiveStatementParser.BYTE, 0); }
10129 public TerminalNode CACHE() { return getToken(HiveStatementParser.CACHE, 0); }
10130 public TerminalNode CHARSET() { return getToken(HiveStatementParser.CHARSET, 0); }
10131 public TerminalNode CHECKSUM() { return getToken(HiveStatementParser.CHECKSUM, 0); }
10132 public TerminalNode CLONE() { return getToken(HiveStatementParser.CLONE, 0); }
10133 public TerminalNode COMMENT() { return getToken(HiveStatementParser.COMMENT, 0); }
10134 public TerminalNode COMMIT() { return getToken(HiveStatementParser.COMMIT, 0); }
10135 public TerminalNode CONTAINS() { return getToken(HiveStatementParser.CONTAINS, 0); }
10136 public TerminalNode DEALLOCATE() { return getToken(HiveStatementParser.DEALLOCATE, 0); }
10137 public TerminalNode DO() { return getToken(HiveStatementParser.DO, 0); }
10138 public TerminalNode END() { return getToken(HiveStatementParser.END, 0); }
10139 public TerminalNode FLUSH() { return getToken(HiveStatementParser.FLUSH, 0); }
10140 public TerminalNode FOLLOWS() { return getToken(HiveStatementParser.FOLLOWS, 0); }
10141 public TerminalNode HANDLER() { return getToken(HiveStatementParser.HANDLER, 0); }
10142 public TerminalNode HELP() { return getToken(HiveStatementParser.HELP, 0); }
10143 public TerminalNode IMPORT() { return getToken(HiveStatementParser.IMPORT, 0); }
10144 public TerminalNode INSTALL() { return getToken(HiveStatementParser.INSTALL, 0); }
10145 public TerminalNode LANGUAGE() { return getToken(HiveStatementParser.LANGUAGE, 0); }
10146 public TerminalNode NO() { return getToken(HiveStatementParser.NO, 0); }
10147 public TerminalNode PRECEDES() { return getToken(HiveStatementParser.PRECEDES, 0); }
10148 public TerminalNode PREPARE() { return getToken(HiveStatementParser.PREPARE, 0); }
10149 public TerminalNode REPAIR() { return getToken(HiveStatementParser.REPAIR, 0); }
10150 public TerminalNode RESET() { return getToken(HiveStatementParser.RESET, 0); }
10151 public TerminalNode ROLLBACK() { return getToken(HiveStatementParser.ROLLBACK, 0); }
10152 public TerminalNode SAVEPOINT() { return getToken(HiveStatementParser.SAVEPOINT, 0); }
10153 public TerminalNode SIGNED() { return getToken(HiveStatementParser.SIGNED, 0); }
10154 public TerminalNode SLAVE() { return getToken(HiveStatementParser.SLAVE, 0); }
10155 public TerminalNode START() { return getToken(HiveStatementParser.START, 0); }
10156 public TerminalNode STOP() { return getToken(HiveStatementParser.STOP, 0); }
10157 public TerminalNode TRUNCATE() { return getToken(HiveStatementParser.TRUNCATE, 0); }
10158 public TerminalNode UNICODE() { return getToken(HiveStatementParser.UNICODE, 0); }
10159 public TerminalNode UNINSTALL() { return getToken(HiveStatementParser.UNINSTALL, 0); }
10160 public TerminalNode XA() { return getToken(HiveStatementParser.XA, 0); }
10161 public IdentifierKeywordsAmbiguous2LabelsContext(ParserRuleContext parent, int invokingState) {
10162 super(parent, invokingState);
10163 }
10164 @Override public int getRuleIndex() { return RULE_identifierKeywordsAmbiguous2Labels; }
10165 @Override
10166 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10167 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIdentifierKeywordsAmbiguous2Labels(this);
10168 else return visitor.visitChildren(this);
10169 }
10170 }
10171
10172 public final IdentifierKeywordsAmbiguous2LabelsContext identifierKeywordsAmbiguous2Labels() throws RecognitionException {
10173 IdentifierKeywordsAmbiguous2LabelsContext _localctx = new IdentifierKeywordsAmbiguous2LabelsContext(_ctx, getState());
10174 enterRule(_localctx, 176, RULE_identifierKeywordsAmbiguous2Labels);
10175 int _la;
10176 try {
10177 enterOuterAlt(_localctx, 1);
10178 {
10179 setState(1304);
10180 _la = _input.LA(1);
10181 if ( !(((((_la - 91)) & ~0x3f) == 0 && ((1L << (_la - 91)) & ((1L << (ASCII - 91)) | (1L << (BEGIN - 91)) | (1L << (BYTE - 91)) | (1L << (CACHE - 91)) | (1L << (CHARSET - 91)) | (1L << (CHECKSUM - 91)) | (1L << (CLONE - 91)) | (1L << (COMMENT - 91)) | (1L << (COMMIT - 91)))) != 0) || ((((_la - 164)) & ~0x3f) == 0 && ((1L << (_la - 164)) & ((1L << (CONTAINS - 164)) | (1L << (DEALLOCATE - 164)) | (1L << (DO - 164)))) != 0) || ((((_la - 229)) & ~0x3f) == 0 && ((1L << (_la - 229)) & ((1L << (END - 229)) | (1L << (FLUSH - 229)) | (1L << (FOLLOWS - 229)))) != 0) || ((((_la - 299)) & ~0x3f) == 0 && ((1L << (_la - 299)) & ((1L << (HANDLER - 299)) | (1L << (HELP - 299)) | (1L << (IMPORT - 299)) | (1L << (INSTALL - 299)) | (1L << (LANGUAGE - 299)))) != 0) || _la==NO || _la==PRECEDES || ((((_la - 529)) & ~0x3f) == 0 && ((1L << (_la - 529)) & ((1L << (PREPARE - 529)) | (1L << (REPAIR - 529)) | (1L << (RESET - 529)))) != 0) || ((((_la - 607)) & ~0x3f) == 0 && ((1L << (_la - 607)) & ((1L << (ROLLBACK - 607)) | (1L << (SAVEPOINT - 607)) | (1L << (SIGNED - 607)) | (1L << (SLAVE - 607)))) != 0) || _la==START || _la==STOP || ((((_la - 749)) & ~0x3f) == 0 && ((1L << (_la - 749)) & ((1L << (TRUNCATE - 749)) | (1L << (UNICODE - 749)) | (1L << (UNINSTALL - 749)) | (1L << (XA - 749)))) != 0)) ) {
10182 _errHandler.recoverInline(this);
10183 }
10184 else {
10185 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10186 _errHandler.reportMatch(this);
10187 consume();
10188 }
10189 }
10190 }
10191 catch (RecognitionException re) {
10192 _localctx.exception = re;
10193 _errHandler.reportError(this, re);
10194 _errHandler.recover(this, re);
10195 }
10196 finally {
10197 exitRule();
10198 }
10199 return _localctx;
10200 }
10201
10202 public static class IdentifierKeywordsAmbiguous3RolesContext extends ParserRuleContext {
10203 public TerminalNode EVENT() { return getToken(HiveStatementParser.EVENT, 0); }
10204 public TerminalNode FILE() { return getToken(HiveStatementParser.FILE, 0); }
10205 public TerminalNode NONE() { return getToken(HiveStatementParser.NONE, 0); }
10206 public TerminalNode PROCESS() { return getToken(HiveStatementParser.PROCESS, 0); }
10207 public TerminalNode PROXY() { return getToken(HiveStatementParser.PROXY, 0); }
10208 public TerminalNode RELOAD() { return getToken(HiveStatementParser.RELOAD, 0); }
10209 public TerminalNode REPLICATION() { return getToken(HiveStatementParser.REPLICATION, 0); }
10210 public TerminalNode RESOURCE() { return getToken(HiveStatementParser.RESOURCE, 0); }
10211 public TerminalNode SUPER() { return getToken(HiveStatementParser.SUPER, 0); }
10212 public IdentifierKeywordsAmbiguous3RolesContext(ParserRuleContext parent, int invokingState) {
10213 super(parent, invokingState);
10214 }
10215 @Override public int getRuleIndex() { return RULE_identifierKeywordsAmbiguous3Roles; }
10216 @Override
10217 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10218 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIdentifierKeywordsAmbiguous3Roles(this);
10219 else return visitor.visitChildren(this);
10220 }
10221 }
10222
10223 public final IdentifierKeywordsAmbiguous3RolesContext identifierKeywordsAmbiguous3Roles() throws RecognitionException {
10224 IdentifierKeywordsAmbiguous3RolesContext _localctx = new IdentifierKeywordsAmbiguous3RolesContext(_ctx, getState());
10225 enterRule(_localctx, 178, RULE_identifierKeywordsAmbiguous3Roles);
10226 int _la;
10227 try {
10228 enterOuterAlt(_localctx, 1);
10229 {
10230 setState(1306);
10231 _la = _input.LA(1);
10232 if ( !(_la==EVENT || _la==FILE || _la==NONE || ((((_la - 536)) & ~0x3f) == 0 && ((1L << (_la - 536)) & ((1L << (PROCESS - 536)) | (1L << (PROXY - 536)) | (1L << (RELOAD - 536)) | (1L << (REPLICATION - 536)) | (1L << (RESOURCE - 536)))) != 0) || _la==SUPER) ) {
10233 _errHandler.recoverInline(this);
10234 }
10235 else {
10236 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10237 _errHandler.reportMatch(this);
10238 consume();
10239 }
10240 }
10241 }
10242 catch (RecognitionException re) {
10243 _localctx.exception = re;
10244 _errHandler.reportError(this, re);
10245 _errHandler.recover(this, re);
10246 }
10247 finally {
10248 exitRule();
10249 }
10250 return _localctx;
10251 }
10252
10253 public static class IdentifierKeywordsAmbiguous4SystemVariablesContext extends ParserRuleContext {
10254 public TerminalNode GLOBAL() { return getToken(HiveStatementParser.GLOBAL, 0); }
10255 public TerminalNode LOCAL() { return getToken(HiveStatementParser.LOCAL, 0); }
10256 public TerminalNode PERSIST() { return getToken(HiveStatementParser.PERSIST, 0); }
10257 public TerminalNode PERSIST_ONLY() { return getToken(HiveStatementParser.PERSIST_ONLY, 0); }
10258 public TerminalNode SESSION() { return getToken(HiveStatementParser.SESSION, 0); }
10259 public IdentifierKeywordsAmbiguous4SystemVariablesContext(ParserRuleContext parent, int invokingState) {
10260 super(parent, invokingState);
10261 }
10262 @Override public int getRuleIndex() { return RULE_identifierKeywordsAmbiguous4SystemVariables; }
10263 @Override
10264 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10265 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIdentifierKeywordsAmbiguous4SystemVariables(this);
10266 else return visitor.visitChildren(this);
10267 }
10268 }
10269
10270 public final IdentifierKeywordsAmbiguous4SystemVariablesContext identifierKeywordsAmbiguous4SystemVariables() throws RecognitionException {
10271 IdentifierKeywordsAmbiguous4SystemVariablesContext _localctx = new IdentifierKeywordsAmbiguous4SystemVariablesContext(_ctx, getState());
10272 enterRule(_localctx, 180, RULE_identifierKeywordsAmbiguous4SystemVariables);
10273 int _la;
10274 try {
10275 enterOuterAlt(_localctx, 1);
10276 {
10277 setState(1308);
10278 _la = _input.LA(1);
10279 if ( !(_la==GLOBAL || _la==LOCAL || _la==PERSIST || _la==PERSIST_ONLY || _la==SESSION) ) {
10280 _errHandler.recoverInline(this);
10281 }
10282 else {
10283 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10284 _errHandler.reportMatch(this);
10285 consume();
10286 }
10287 }
10288 }
10289 catch (RecognitionException re) {
10290 _localctx.exception = re;
10291 _errHandler.reportError(this, re);
10292 _errHandler.recover(this, re);
10293 }
10294 finally {
10295 exitRule();
10296 }
10297 return _localctx;
10298 }
10299
10300 public static class TextOrIdentifierContext extends ParserRuleContext {
10301 public IdentifierContext identifier() {
10302 return getRuleContext(IdentifierContext.class,0);
10303 }
10304 public String_Context string_() {
10305 return getRuleContext(String_Context.class,0);
10306 }
10307 public IpAddressContext ipAddress() {
10308 return getRuleContext(IpAddressContext.class,0);
10309 }
10310 public TextOrIdentifierContext(ParserRuleContext parent, int invokingState) {
10311 super(parent, invokingState);
10312 }
10313 @Override public int getRuleIndex() { return RULE_textOrIdentifier; }
10314 @Override
10315 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10316 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTextOrIdentifier(this);
10317 else return visitor.visitChildren(this);
10318 }
10319 }
10320
10321 public final TextOrIdentifierContext textOrIdentifier() throws RecognitionException {
10322 TextOrIdentifierContext _localctx = new TextOrIdentifierContext(_ctx, getState());
10323 enterRule(_localctx, 182, RULE_textOrIdentifier);
10324 try {
10325 setState(1313);
10326 _errHandler.sync(this);
10327 switch ( getInterpreter().adaptivePredict(_input,143,_ctx) ) {
10328 case 1:
10329 enterOuterAlt(_localctx, 1);
10330 {
10331 setState(1310);
10332 identifier();
10333 }
10334 break;
10335 case 2:
10336 enterOuterAlt(_localctx, 2);
10337 {
10338 setState(1311);
10339 string_();
10340 }
10341 break;
10342 case 3:
10343 enterOuterAlt(_localctx, 3);
10344 {
10345 setState(1312);
10346 ipAddress();
10347 }
10348 break;
10349 }
10350 }
10351 catch (RecognitionException re) {
10352 _localctx.exception = re;
10353 _errHandler.reportError(this, re);
10354 _errHandler.recover(this, re);
10355 }
10356 finally {
10357 exitRule();
10358 }
10359 return _localctx;
10360 }
10361
10362 public static class IpAddressContext extends ParserRuleContext {
10363 public TerminalNode IP_ADDRESS() { return getToken(HiveStatementParser.IP_ADDRESS, 0); }
10364 public IpAddressContext(ParserRuleContext parent, int invokingState) {
10365 super(parent, invokingState);
10366 }
10367 @Override public int getRuleIndex() { return RULE_ipAddress; }
10368 @Override
10369 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10370 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIpAddress(this);
10371 else return visitor.visitChildren(this);
10372 }
10373 }
10374
10375 public final IpAddressContext ipAddress() throws RecognitionException {
10376 IpAddressContext _localctx = new IpAddressContext(_ctx, getState());
10377 enterRule(_localctx, 184, RULE_ipAddress);
10378 try {
10379 enterOuterAlt(_localctx, 1);
10380 {
10381 setState(1315);
10382 match(IP_ADDRESS);
10383 }
10384 }
10385 catch (RecognitionException re) {
10386 _localctx.exception = re;
10387 _errHandler.reportError(this, re);
10388 _errHandler.recover(this, re);
10389 }
10390 finally {
10391 exitRule();
10392 }
10393 return _localctx;
10394 }
10395
10396 public static class VariableContext extends ParserRuleContext {
10397 public UserVariableContext userVariable() {
10398 return getRuleContext(UserVariableContext.class,0);
10399 }
10400 public SystemVariableContext systemVariable() {
10401 return getRuleContext(SystemVariableContext.class,0);
10402 }
10403 public VariableContext(ParserRuleContext parent, int invokingState) {
10404 super(parent, invokingState);
10405 }
10406 @Override public int getRuleIndex() { return RULE_variable; }
10407 @Override
10408 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10409 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitVariable(this);
10410 else return visitor.visitChildren(this);
10411 }
10412 }
10413
10414 public final VariableContext variable() throws RecognitionException {
10415 VariableContext _localctx = new VariableContext(_ctx, getState());
10416 enterRule(_localctx, 186, RULE_variable);
10417 try {
10418 setState(1319);
10419 _errHandler.sync(this);
10420 switch ( getInterpreter().adaptivePredict(_input,144,_ctx) ) {
10421 case 1:
10422 enterOuterAlt(_localctx, 1);
10423 {
10424 setState(1317);
10425 userVariable();
10426 }
10427 break;
10428 case 2:
10429 enterOuterAlt(_localctx, 2);
10430 {
10431 setState(1318);
10432 systemVariable();
10433 }
10434 break;
10435 }
10436 }
10437 catch (RecognitionException re) {
10438 _localctx.exception = re;
10439 _errHandler.reportError(this, re);
10440 _errHandler.recover(this, re);
10441 }
10442 finally {
10443 exitRule();
10444 }
10445 return _localctx;
10446 }
10447
10448 public static class UserVariableContext extends ParserRuleContext {
10449 public TerminalNode AT_() { return getToken(HiveStatementParser.AT_, 0); }
10450 public TextOrIdentifierContext textOrIdentifier() {
10451 return getRuleContext(TextOrIdentifierContext.class,0);
10452 }
10453 public UserVariableContext(ParserRuleContext parent, int invokingState) {
10454 super(parent, invokingState);
10455 }
10456 @Override public int getRuleIndex() { return RULE_userVariable; }
10457 @Override
10458 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10459 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitUserVariable(this);
10460 else return visitor.visitChildren(this);
10461 }
10462 }
10463
10464 public final UserVariableContext userVariable() throws RecognitionException {
10465 UserVariableContext _localctx = new UserVariableContext(_ctx, getState());
10466 enterRule(_localctx, 188, RULE_userVariable);
10467 try {
10468 setState(1324);
10469 _errHandler.sync(this);
10470 switch (_input.LA(1)) {
10471 case AT_:
10472 enterOuterAlt(_localctx, 1);
10473 {
10474 setState(1321);
10475 match(AT_);
10476 setState(1322);
10477 textOrIdentifier();
10478 }
10479 break;
10480 case MAX:
10481 case MIN:
10482 case SUM:
10483 case COUNT:
10484 case GROUP_CONCAT:
10485 case CAST:
10486 case POSITION:
10487 case SUBSTRING:
10488 case SUBSTR:
10489 case EXTRACT:
10490 case TRIM:
10491 case LAST_DAY:
10492 case TRADITIONAL:
10493 case TREE:
10494 case MYSQL_MAIN:
10495 case MYSQL_ADMIN:
10496 case INSTANT:
10497 case INPLACE:
10498 case COPY:
10499 case UL_BINARY:
10500 case AUTOCOMMIT:
10501 case INNODB:
10502 case REDO_LOG:
10503 case ACCOUNT:
10504 case ACTION:
10505 case ACTIVE:
10506 case ADMIN:
10507 case AFTER:
10508 case AGAINST:
10509 case AGGREGATE:
10510 case ALGORITHM:
10511 case ALWAYS:
10512 case ANY:
10513 case ARRAY:
10514 case ASCII:
10515 case AT:
10516 case ATTRIBUTE:
10517 case AUTOEXTEND_SIZE:
10518 case AUTO_INCREMENT:
10519 case AVG:
10520 case BIT_XOR:
10521 case AVG_ROW_LENGTH:
10522 case BACKUP:
10523 case BEGIN:
10524 case BINLOG:
10525 case BIT:
10526 case BLOCK:
10527 case BOOL:
10528 case BOOLEAN:
10529 case BTREE:
10530 case BUCKETS:
10531 case BYTE:
10532 case CACHE:
10533 case CASCADED:
10534 case CATALOG_NAME:
10535 case CHAIN:
10536 case CHANGED:
10537 case CHANNEL:
10538 case CHARSET:
10539 case CHECKSUM:
10540 case CIPHER:
10541 case CLASS_ORIGIN:
10542 case CLIENT:
10543 case CLONE:
10544 case CLOSE:
10545 case COALESCE:
10546 case CODE:
10547 case COLLATION:
10548 case COLUMNS:
10549 case COLUMN_FORMAT:
10550 case COLUMN_NAME:
10551 case COMMENT:
10552 case COMMIT:
10553 case COMMITTED:
10554 case COMPACT:
10555 case COMPLETION:
10556 case COMPONENT:
10557 case COMPRESSED:
10558 case COMPRESSION:
10559 case CONCURRENT:
10560 case CONNECTION:
10561 case CONSISTENT:
10562 case CONSTRAINT_CATALOG:
10563 case CONSTRAINT_NAME:
10564 case CONSTRAINT_SCHEMA:
10565 case CONTAINS:
10566 case CONTEXT:
10567 case CPU:
10568 case CREATE:
10569 case CURRENT:
10570 case CURSOR_NAME:
10571 case DATA:
10572 case DATAFILE:
10573 case DATE:
10574 case DATETIME:
10575 case DAY:
10576 case DAY_MINUTE:
10577 case DEALLOCATE:
10578 case DEFAULT_AUTH:
10579 case DEFINER:
10580 case DEFINITION:
10581 case DELAY_KEY_WRITE:
10582 case DESCRIPTION:
10583 case DIAGNOSTICS:
10584 case DIRECTORY:
10585 case DISABLE:
10586 case DISCARD:
10587 case DISK:
10588 case DO:
10589 case DUMPFILE:
10590 case DUPLICATE:
10591 case DYNAMIC:
10592 case ENABLE:
10593 case ENCRYPTION:
10594 case END:
10595 case ENDS:
10596 case ENFORCED:
10597 case ENGINE:
10598 case ENGINES:
10599 case ENGINE_ATTRIBUTE:
10600 case ENUM:
10601 case ERROR:
10602 case ERRORS:
10603 case ESCAPE:
10604 case EVENT:
10605 case EVENTS:
10606 case EVERY:
10607 case EXCHANGE:
10608 case EXCLUDE:
10609 case EXECUTE:
10610 case EXPANSION:
10611 case EXPIRE:
10612 case EXPORT:
10613 case EXTENDED:
10614 case EXTENT_SIZE:
10615 case FAILED_LOGIN_ATTEMPTS:
10616 case FAST:
10617 case FAULTS:
10618 case FILE:
10619 case FILE_BLOCK_SIZE:
10620 case FILTER:
10621 case FIRST:
10622 case FIXED:
10623 case FLUSH:
10624 case FOLLOWING:
10625 case FOLLOWS:
10626 case FORMAT:
10627 case FOUND:
10628 case FULL:
10629 case GENERAL:
10630 case GEOMETRY:
10631 case GEOMETRYCOLLECTION:
10632 case GET_FORMAT:
10633 case GET_MASTER_PUBLIC_KEY:
10634 case GLOBAL:
10635 case GRANTS:
10636 case GROUP_REPLICATION:
10637 case HANDLER:
10638 case HASH:
10639 case HELP:
10640 case HISTOGRAM:
10641 case HISTORY:
10642 case HOST:
10643 case HOSTS:
10644 case HOUR:
10645 case IDENTIFIED:
10646 case IGNORE_SERVER_IDS:
10647 case IMPORT:
10648 case INACTIVE:
10649 case INDEXES:
10650 case INITIAL_SIZE:
10651 case INSERT_METHOD:
10652 case INSTALL:
10653 case INSTANCE:
10654 case INVISIBLE:
10655 case INVOKER:
10656 case IO:
10657 case IPC:
10658 case ISOLATION:
10659 case ISSUER:
10660 case JSON:
10661 case JSON_VALUE:
10662 case KEY:
10663 case KEY_BLOCK_SIZE:
10664 case LANGUAGE:
10665 case LAST:
10666 case LAST_VALUE:
10667 case LEAVES:
10668 case LESS:
10669 case LEVEL:
10670 case LINESTRING:
10671 case LIST:
10672 case LOCAL:
10673 case LOCKED:
10674 case LOCKS:
10675 case LOGFILE:
10676 case LOGS:
10677 case MASTER:
10678 case MASTER_AUTO_POSITION:
10679 case MASTER_COMPRESSION_ALGORITHM:
10680 case MASTER_CONNECT_RETRY:
10681 case MASTER_DELAY:
10682 case MASTER_HEARTBEAT_PERIOD:
10683 case MASTER_HOST:
10684 case MASTER_LOG_FILE:
10685 case MASTER_LOG_POS:
10686 case MASTER_PASSWORD:
10687 case MASTER_PORT:
10688 case MASTER_PUBLIC_KEY_PATH:
10689 case MASTER_RETRY_COUNT:
10690 case MASTER_SERVER_ID:
10691 case MASTER_SSL:
10692 case MASTER_SSL_CA:
10693 case MASTER_SSL_CAPATH:
10694 case MASTER_SSL_CERT:
10695 case MASTER_SSL_CIPHER:
10696 case MASTER_SSL_CRL:
10697 case MASTER_SSL_CRLPATH:
10698 case MASTER_SSL_KEY:
10699 case MASTER_TLS_CIPHERSUITES:
10700 case MASTER_TLS_VERSION:
10701 case MASTER_USER:
10702 case MASTER_ZSTD_COMPRESSION_LEVEL:
10703 case MAXVALUE:
10704 case MAX_CONNECTIONS_PER_HOUR:
10705 case MAX_QUERIES_PER_HOUR:
10706 case MAX_ROWS:
10707 case MAX_SIZE:
10708 case MAX_UPDATES_PER_HOUR:
10709 case MAX_USER_CONNECTIONS:
10710 case MEDIUM:
10711 case MEMBER:
10712 case MEMORY:
10713 case MERGE:
10714 case MESSAGE_TEXT:
10715 case MICROSECOND:
10716 case MIGRATE:
10717 case MINUTE:
10718 case MIN_ROWS:
10719 case MODE:
10720 case MODIFY:
10721 case MONTH:
10722 case MULTILINESTRING:
10723 case MULTIPOINT:
10724 case MULTIPOLYGON:
10725 case MUTEX:
10726 case MYSQL_ERRNO:
10727 case NAME:
10728 case NAMES:
10729 case NATIONAL:
10730 case NCHAR:
10731 case NDBCLUSTER:
10732 case NESTED:
10733 case NETWORK_NAMESPACE:
10734 case NEVER:
10735 case NEW:
10736 case NEXT:
10737 case NO:
10738 case NODEGROUP:
10739 case NONE:
10740 case NOWAIT:
10741 case NO_WAIT:
10742 case NULLS:
10743 case NUMBER:
10744 case NVARCHAR:
10745 case OFF:
10746 case OFFSET:
10747 case OJ:
10748 case OLD:
10749 case ONE:
10750 case ONLY:
10751 case OPEN:
10752 case OPTIONAL:
10753 case OPTIONS:
10754 case ORDINALITY:
10755 case ORGANIZATION:
10756 case OTHERS:
10757 case OWNER:
10758 case PACK_KEYS:
10759 case PAGE:
10760 case PARSER:
10761 case PARTIAL:
10762 case PARTITIONING:
10763 case PARTITIONS:
10764 case PASSWORD:
10765 case PASSWORD_LOCK_TIME:
10766 case PATH:
10767 case PERSIST:
10768 case PERSIST_ONLY:
10769 case PHASE:
10770 case PLUGIN:
10771 case PLUGINS:
10772 case PLUGIN_DIR:
10773 case POINT:
10774 case POLYGON:
10775 case PORT:
10776 case PRECEDES:
10777 case PRECEDING:
10778 case PREPARE:
10779 case PRESERVE:
10780 case PREV:
10781 case PRIMARY:
10782 case PRIVILEGES:
10783 case PRIVILEGE_CHECKS_USER:
10784 case PROCESS:
10785 case PROCESSLIST:
10786 case PROFILE:
10787 case PROFILES:
10788 case PROXY:
10789 case QUARTER:
10790 case QUERY:
10791 case QUICK:
10792 case RANDOM:
10793 case READ_ONLY:
10794 case REBUILD:
10795 case RECOVER:
10796 case REDO_BUFFER_SIZE:
10797 case REDUNDANT:
10798 case REFERENCE:
10799 case RELAY:
10800 case RELAYLOG:
10801 case RELAY_LOG_FILE:
10802 case RELAY_LOG_POS:
10803 case RELAY_THREAD:
10804 case RELOAD:
10805 case REMOVE:
10806 case REORGANIZE:
10807 case REPAIR:
10808 case REPEATABLE:
10809 case REPLICATE_DO_DB:
10810 case REPLICATE_DO_TABLE:
10811 case REPLICATE_IGNORE_DB:
10812 case REPLICATE_IGNORE_TABLE:
10813 case REPLICATE_REWRITE_DB:
10814 case REPLICATE_WILD_DO_TABLE:
10815 case REPLICATE_WILD_IGNORE_TABLE:
10816 case REPLICATION:
10817 case REQUIRE_ROW_FORMAT:
10818 case RESET:
10819 case RESOURCE:
10820 case RESPECT:
10821 case RESTART:
10822 case RESTORE:
10823 case RESUME:
10824 case RETAIN:
10825 case RETURNED_SQLSTATE:
10826 case RETURNING:
10827 case RETURNS:
10828 case REUSE:
10829 case REVERSE:
10830 case ROLE:
10831 case ROLLBACK:
10832 case ROLLUP:
10833 case ROTATE:
10834 case ROUTINE:
10835 case ROW_COUNT:
10836 case ROW_FORMAT:
10837 case RTREE:
10838 case SAVEPOINT:
10839 case SCHEDULE:
10840 case SCHEMA_NAME:
10841 case SECOND:
10842 case SECONDARY:
10843 case SECONDARY_ENGINE:
10844 case SECONDARY_ENGINE_ATTRIBUTE:
10845 case SECONDARY_LOAD:
10846 case SECONDARY_UNLOAD:
10847 case SECURITY:
10848 case SERIAL:
10849 case SERIALIZABLE:
10850 case SERVER:
10851 case SESSION:
10852 case SHARE:
10853 case SHUTDOWN:
10854 case SIGNED:
10855 case SIMPLE:
10856 case SLAVE:
10857 case SLOW:
10858 case SNAPSHOT:
10859 case SOCKET:
10860 case SONAME:
10861 case SOUNDS:
10862 case SOURCE:
10863 case SQL_AFTER_GTIDS:
10864 case SQL_AFTER_MTS_GAPS:
10865 case SQL_BEFORE_GTIDS:
10866 case SQL_BUFFER_RESULT:
10867 case SQL_NO_CACHE:
10868 case SQL_THREAD:
10869 case SRID:
10870 case STACKED:
10871 case START:
10872 case STARTS:
10873 case STATS_AUTO_RECALC:
10874 case STATS_PERSISTENT:
10875 case STATS_SAMPLE_PAGES:
10876 case STATUS:
10877 case STOP:
10878 case STORAGE:
10879 case STREAM:
10880 case STRING:
10881 case SUBCLASS_ORIGIN:
10882 case SUBJECT:
10883 case SUBPARTITION:
10884 case SUBPARTITIONS:
10885 case SUPER:
10886 case SUSPEND:
10887 case SWAPS:
10888 case SWITCHES:
10889 case SYSTEM:
10890 case TABLE:
10891 case TABLES:
10892 case TABLESPACE:
10893 case TABLE_CHECKSUM:
10894 case TABLE_NAME:
10895 case TEMPORARY:
10896 case TEMPTABLE:
10897 case TEXT:
10898 case THAN:
10899 case THREAD_PRIORITY:
10900 case TIES:
10901 case TIME:
10902 case TIMESTAMP:
10903 case TIMESTAMP_ADD:
10904 case TIMESTAMP_DIFF:
10905 case TLS:
10906 case TRANSACTION:
10907 case TRIGGERS:
10908 case TRUNCATE:
10909 case TYPE:
10910 case TYPES:
10911 case UNBOUNDED:
10912 case UNCOMMITTED:
10913 case UNDEFINED:
10914 case UNDOFILE:
10915 case UNDO_BUFFER_SIZE:
10916 case UNICODE:
10917 case UNINSTALL:
10918 case UNKNOWN:
10919 case UNTIL:
10920 case UPGRADE:
10921 case USER:
10922 case USER_RESOURCES:
10923 case USE_FRM:
10924 case UTC_DATE:
10925 case UTC_TIME:
10926 case UTC_TIMESTAMP:
10927 case VALIDATION:
10928 case VALUE:
10929 case VARIABLES:
10930 case VCPU:
10931 case VIEW:
10932 case VISIBLE:
10933 case WAIT:
10934 case WARNINGS:
10935 case WEEK:
10936 case WEIGHT_STRING:
10937 case WITHOUT:
10938 case WORK:
10939 case WRAPPER:
10940 case X509:
10941 case XA:
10942 case XID:
10943 case XML:
10944 case YEAR:
10945 case YEAR_MONTH:
10946 case SINGLE_QUOTED_TEXT:
10947 case DOUBLE_QUOTED_TEXT:
10948 case BQUOTA_STRING:
10949 case UNDERSCORE_CHARSET:
10950 case IDENTIFIER_:
10951 case IP_ADDRESS:
10952 enterOuterAlt(_localctx, 2);
10953 {
10954 setState(1323);
10955 textOrIdentifier();
10956 }
10957 break;
10958 default:
10959 throw new NoViableAltException(this);
10960 }
10961 }
10962 catch (RecognitionException re) {
10963 _localctx.exception = re;
10964 _errHandler.reportError(this, re);
10965 _errHandler.recover(this, re);
10966 }
10967 finally {
10968 exitRule();
10969 }
10970 return _localctx;
10971 }
10972
10973 public static class SystemVariableContext extends ParserRuleContext {
10974 public Token systemVariableScope;
10975 public List<TerminalNode> AT_() { return getTokens(HiveStatementParser.AT_); }
10976 public TerminalNode AT_(int i) {
10977 return getToken(HiveStatementParser.AT_, i);
10978 }
10979 public RvalueSystemVariableContext rvalueSystemVariable() {
10980 return getRuleContext(RvalueSystemVariableContext.class,0);
10981 }
10982 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
10983 public TerminalNode GLOBAL() { return getToken(HiveStatementParser.GLOBAL, 0); }
10984 public TerminalNode SESSION() { return getToken(HiveStatementParser.SESSION, 0); }
10985 public TerminalNode LOCAL() { return getToken(HiveStatementParser.LOCAL, 0); }
10986 public SystemVariableContext(ParserRuleContext parent, int invokingState) {
10987 super(parent, invokingState);
10988 }
10989 @Override public int getRuleIndex() { return RULE_systemVariable; }
10990 @Override
10991 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10992 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSystemVariable(this);
10993 else return visitor.visitChildren(this);
10994 }
10995 }
10996
10997 public final SystemVariableContext systemVariable() throws RecognitionException {
10998 SystemVariableContext _localctx = new SystemVariableContext(_ctx, getState());
10999 enterRule(_localctx, 190, RULE_systemVariable);
11000 int _la;
11001 try {
11002 enterOuterAlt(_localctx, 1);
11003 {
11004 setState(1326);
11005 match(AT_);
11006 setState(1327);
11007 match(AT_);
11008 setState(1330);
11009 _errHandler.sync(this);
11010 switch ( getInterpreter().adaptivePredict(_input,146,_ctx) ) {
11011 case 1:
11012 {
11013 setState(1328);
11014 ((SystemVariableContext)_localctx).systemVariableScope = _input.LT(1);
11015 _la = _input.LA(1);
11016 if ( !(_la==GLOBAL || _la==LOCAL || _la==SESSION) ) {
11017 ((SystemVariableContext)_localctx).systemVariableScope = (Token)_errHandler.recoverInline(this);
11018 }
11019 else {
11020 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11021 _errHandler.reportMatch(this);
11022 consume();
11023 }
11024 setState(1329);
11025 match(DOT_);
11026 }
11027 break;
11028 }
11029 setState(1332);
11030 rvalueSystemVariable();
11031 }
11032 }
11033 catch (RecognitionException re) {
11034 _localctx.exception = re;
11035 _errHandler.reportError(this, re);
11036 _errHandler.recover(this, re);
11037 }
11038 finally {
11039 exitRule();
11040 }
11041 return _localctx;
11042 }
11043
11044 public static class RvalueSystemVariableContext extends ParserRuleContext {
11045 public TextOrIdentifierContext textOrIdentifier() {
11046 return getRuleContext(TextOrIdentifierContext.class,0);
11047 }
11048 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
11049 public IdentifierContext identifier() {
11050 return getRuleContext(IdentifierContext.class,0);
11051 }
11052 public RvalueSystemVariableContext(ParserRuleContext parent, int invokingState) {
11053 super(parent, invokingState);
11054 }
11055 @Override public int getRuleIndex() { return RULE_rvalueSystemVariable; }
11056 @Override
11057 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11058 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitRvalueSystemVariable(this);
11059 else return visitor.visitChildren(this);
11060 }
11061 }
11062
11063 public final RvalueSystemVariableContext rvalueSystemVariable() throws RecognitionException {
11064 RvalueSystemVariableContext _localctx = new RvalueSystemVariableContext(_ctx, getState());
11065 enterRule(_localctx, 192, RULE_rvalueSystemVariable);
11066 try {
11067 setState(1339);
11068 _errHandler.sync(this);
11069 switch ( getInterpreter().adaptivePredict(_input,147,_ctx) ) {
11070 case 1:
11071 enterOuterAlt(_localctx, 1);
11072 {
11073 setState(1334);
11074 textOrIdentifier();
11075 }
11076 break;
11077 case 2:
11078 enterOuterAlt(_localctx, 2);
11079 {
11080 setState(1335);
11081 textOrIdentifier();
11082 setState(1336);
11083 match(DOT_);
11084 setState(1337);
11085 identifier();
11086 }
11087 break;
11088 }
11089 }
11090 catch (RecognitionException re) {
11091 _localctx.exception = re;
11092 _errHandler.reportError(this, re);
11093 _errHandler.recover(this, re);
11094 }
11095 finally {
11096 exitRule();
11097 }
11098 return _localctx;
11099 }
11100
11101 public static class SetSystemVariableContext extends ParserRuleContext {
11102 public List<TerminalNode> AT_() { return getTokens(HiveStatementParser.AT_); }
11103 public TerminalNode AT_(int i) {
11104 return getToken(HiveStatementParser.AT_, i);
11105 }
11106 public InternalVariableNameContext internalVariableName() {
11107 return getRuleContext(InternalVariableNameContext.class,0);
11108 }
11109 public OptionTypeContext optionType() {
11110 return getRuleContext(OptionTypeContext.class,0);
11111 }
11112 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
11113 public SetSystemVariableContext(ParserRuleContext parent, int invokingState) {
11114 super(parent, invokingState);
11115 }
11116 @Override public int getRuleIndex() { return RULE_setSystemVariable; }
11117 @Override
11118 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11119 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSetSystemVariable(this);
11120 else return visitor.visitChildren(this);
11121 }
11122 }
11123
11124 public final SetSystemVariableContext setSystemVariable() throws RecognitionException {
11125 SetSystemVariableContext _localctx = new SetSystemVariableContext(_ctx, getState());
11126 enterRule(_localctx, 194, RULE_setSystemVariable);
11127 try {
11128 enterOuterAlt(_localctx, 1);
11129 {
11130 setState(1341);
11131 match(AT_);
11132 setState(1342);
11133 match(AT_);
11134 setState(1346);
11135 _errHandler.sync(this);
11136 switch ( getInterpreter().adaptivePredict(_input,148,_ctx) ) {
11137 case 1:
11138 {
11139 setState(1343);
11140 optionType();
11141 setState(1344);
11142 match(DOT_);
11143 }
11144 break;
11145 }
11146 setState(1348);
11147 internalVariableName();
11148 }
11149 }
11150 catch (RecognitionException re) {
11151 _localctx.exception = re;
11152 _errHandler.reportError(this, re);
11153 _errHandler.recover(this, re);
11154 }
11155 finally {
11156 exitRule();
11157 }
11158 return _localctx;
11159 }
11160
11161 public static class OptionTypeContext extends ParserRuleContext {
11162 public TerminalNode GLOBAL() { return getToken(HiveStatementParser.GLOBAL, 0); }
11163 public TerminalNode PERSIST() { return getToken(HiveStatementParser.PERSIST, 0); }
11164 public TerminalNode PERSIST_ONLY() { return getToken(HiveStatementParser.PERSIST_ONLY, 0); }
11165 public TerminalNode SESSION() { return getToken(HiveStatementParser.SESSION, 0); }
11166 public TerminalNode LOCAL() { return getToken(HiveStatementParser.LOCAL, 0); }
11167 public OptionTypeContext(ParserRuleContext parent, int invokingState) {
11168 super(parent, invokingState);
11169 }
11170 @Override public int getRuleIndex() { return RULE_optionType; }
11171 @Override
11172 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11173 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitOptionType(this);
11174 else return visitor.visitChildren(this);
11175 }
11176 }
11177
11178 public final OptionTypeContext optionType() throws RecognitionException {
11179 OptionTypeContext _localctx = new OptionTypeContext(_ctx, getState());
11180 enterRule(_localctx, 196, RULE_optionType);
11181 int _la;
11182 try {
11183 enterOuterAlt(_localctx, 1);
11184 {
11185 setState(1350);
11186 _la = _input.LA(1);
11187 if ( !(_la==GLOBAL || _la==LOCAL || _la==PERSIST || _la==PERSIST_ONLY || _la==SESSION) ) {
11188 _errHandler.recoverInline(this);
11189 }
11190 else {
11191 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11192 _errHandler.reportMatch(this);
11193 consume();
11194 }
11195 }
11196 }
11197 catch (RecognitionException re) {
11198 _localctx.exception = re;
11199 _errHandler.reportError(this, re);
11200 _errHandler.recover(this, re);
11201 }
11202 finally {
11203 exitRule();
11204 }
11205 return _localctx;
11206 }
11207
11208 public static class InternalVariableNameContext extends ParserRuleContext {
11209 public List<IdentifierContext> identifier() {
11210 return getRuleContexts(IdentifierContext.class);
11211 }
11212 public IdentifierContext identifier(int i) {
11213 return getRuleContext(IdentifierContext.class,i);
11214 }
11215 public TerminalNode DEFAULT() { return getToken(HiveStatementParser.DEFAULT, 0); }
11216 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
11217 public InternalVariableNameContext(ParserRuleContext parent, int invokingState) {
11218 super(parent, invokingState);
11219 }
11220 @Override public int getRuleIndex() { return RULE_internalVariableName; }
11221 @Override
11222 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11223 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitInternalVariableName(this);
11224 else return visitor.visitChildren(this);
11225 }
11226 }
11227
11228 public final InternalVariableNameContext internalVariableName() throws RecognitionException {
11229 InternalVariableNameContext _localctx = new InternalVariableNameContext(_ctx, getState());
11230 enterRule(_localctx, 198, RULE_internalVariableName);
11231 try {
11232 setState(1360);
11233 _errHandler.sync(this);
11234 switch ( getInterpreter().adaptivePredict(_input,149,_ctx) ) {
11235 case 1:
11236 enterOuterAlt(_localctx, 1);
11237 {
11238 setState(1352);
11239 identifier();
11240 }
11241 break;
11242 case 2:
11243 enterOuterAlt(_localctx, 2);
11244 {
11245 setState(1353);
11246 match(DEFAULT);
11247 setState(1354);
11248 match(DOT_);
11249 setState(1355);
11250 identifier();
11251 }
11252 break;
11253 case 3:
11254 enterOuterAlt(_localctx, 3);
11255 {
11256 setState(1356);
11257 identifier();
11258 setState(1357);
11259 match(DOT_);
11260 setState(1358);
11261 identifier();
11262 }
11263 break;
11264 }
11265 }
11266 catch (RecognitionException re) {
11267 _localctx.exception = re;
11268 _errHandler.reportError(this, re);
11269 _errHandler.recover(this, re);
11270 }
11271 finally {
11272 exitRule();
11273 }
11274 return _localctx;
11275 }
11276
11277 public static class SetExprOrDefaultContext extends ParserRuleContext {
11278 public ExprContext expr() {
11279 return getRuleContext(ExprContext.class,0);
11280 }
11281 public TerminalNode DEFAULT() { return getToken(HiveStatementParser.DEFAULT, 0); }
11282 public TerminalNode ALL() { return getToken(HiveStatementParser.ALL, 0); }
11283 public TerminalNode ON() { return getToken(HiveStatementParser.ON, 0); }
11284 public TerminalNode BINARY() { return getToken(HiveStatementParser.BINARY, 0); }
11285 public TerminalNode ROW() { return getToken(HiveStatementParser.ROW, 0); }
11286 public TerminalNode SYSTEM() { return getToken(HiveStatementParser.SYSTEM, 0); }
11287 public SetExprOrDefaultContext(ParserRuleContext parent, int invokingState) {
11288 super(parent, invokingState);
11289 }
11290 @Override public int getRuleIndex() { return RULE_setExprOrDefault; }
11291 @Override
11292 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11293 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSetExprOrDefault(this);
11294 else return visitor.visitChildren(this);
11295 }
11296 }
11297
11298 public final SetExprOrDefaultContext setExprOrDefault() throws RecognitionException {
11299 SetExprOrDefaultContext _localctx = new SetExprOrDefaultContext(_ctx, getState());
11300 enterRule(_localctx, 200, RULE_setExprOrDefault);
11301 try {
11302 setState(1369);
11303 _errHandler.sync(this);
11304 switch ( getInterpreter().adaptivePredict(_input,150,_ctx) ) {
11305 case 1:
11306 enterOuterAlt(_localctx, 1);
11307 {
11308 setState(1362);
11309 expr(0);
11310 }
11311 break;
11312 case 2:
11313 enterOuterAlt(_localctx, 2);
11314 {
11315 setState(1363);
11316 match(DEFAULT);
11317 }
11318 break;
11319 case 3:
11320 enterOuterAlt(_localctx, 3);
11321 {
11322 setState(1364);
11323 match(ALL);
11324 }
11325 break;
11326 case 4:
11327 enterOuterAlt(_localctx, 4);
11328 {
11329 setState(1365);
11330 match(ON);
11331 }
11332 break;
11333 case 5:
11334 enterOuterAlt(_localctx, 5);
11335 {
11336 setState(1366);
11337 match(BINARY);
11338 }
11339 break;
11340 case 6:
11341 enterOuterAlt(_localctx, 6);
11342 {
11343 setState(1367);
11344 match(ROW);
11345 }
11346 break;
11347 case 7:
11348 enterOuterAlt(_localctx, 7);
11349 {
11350 setState(1368);
11351 match(SYSTEM);
11352 }
11353 break;
11354 }
11355 }
11356 catch (RecognitionException re) {
11357 _localctx.exception = re;
11358 _errHandler.reportError(this, re);
11359 _errHandler.recover(this, re);
11360 }
11361 finally {
11362 exitRule();
11363 }
11364 return _localctx;
11365 }
11366
11367 public static class TransactionCharacteristicsContext extends ParserRuleContext {
11368 public TransactionAccessModeContext transactionAccessMode() {
11369 return getRuleContext(TransactionAccessModeContext.class,0);
11370 }
11371 public TerminalNode COMMA_() { return getToken(HiveStatementParser.COMMA_, 0); }
11372 public IsolationLevelContext isolationLevel() {
11373 return getRuleContext(IsolationLevelContext.class,0);
11374 }
11375 public TransactionCharacteristicsContext(ParserRuleContext parent, int invokingState) {
11376 super(parent, invokingState);
11377 }
11378 @Override public int getRuleIndex() { return RULE_transactionCharacteristics; }
11379 @Override
11380 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11381 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTransactionCharacteristics(this);
11382 else return visitor.visitChildren(this);
11383 }
11384 }
11385
11386 public final TransactionCharacteristicsContext transactionCharacteristics() throws RecognitionException {
11387 TransactionCharacteristicsContext _localctx = new TransactionCharacteristicsContext(_ctx, getState());
11388 enterRule(_localctx, 202, RULE_transactionCharacteristics);
11389 int _la;
11390 try {
11391 setState(1381);
11392 _errHandler.sync(this);
11393 switch (_input.LA(1)) {
11394 case READ:
11395 enterOuterAlt(_localctx, 1);
11396 {
11397 setState(1371);
11398 transactionAccessMode();
11399 setState(1374);
11400 _errHandler.sync(this);
11401 _la = _input.LA(1);
11402 if (_la==COMMA_) {
11403 {
11404 setState(1372);
11405 match(COMMA_);
11406 setState(1373);
11407 isolationLevel();
11408 }
11409 }
11410
11411 }
11412 break;
11413 case ISOLATION:
11414 enterOuterAlt(_localctx, 2);
11415 {
11416 setState(1376);
11417 isolationLevel();
11418 setState(1379);
11419 _errHandler.sync(this);
11420 _la = _input.LA(1);
11421 if (_la==COMMA_) {
11422 {
11423 setState(1377);
11424 match(COMMA_);
11425 setState(1378);
11426 transactionAccessMode();
11427 }
11428 }
11429
11430 }
11431 break;
11432 default:
11433 throw new NoViableAltException(this);
11434 }
11435 }
11436 catch (RecognitionException re) {
11437 _localctx.exception = re;
11438 _errHandler.reportError(this, re);
11439 _errHandler.recover(this, re);
11440 }
11441 finally {
11442 exitRule();
11443 }
11444 return _localctx;
11445 }
11446
11447 public static class IsolationLevelContext extends ParserRuleContext {
11448 public TerminalNode ISOLATION() { return getToken(HiveStatementParser.ISOLATION, 0); }
11449 public TerminalNode LEVEL() { return getToken(HiveStatementParser.LEVEL, 0); }
11450 public IsolationTypesContext isolationTypes() {
11451 return getRuleContext(IsolationTypesContext.class,0);
11452 }
11453 public IsolationLevelContext(ParserRuleContext parent, int invokingState) {
11454 super(parent, invokingState);
11455 }
11456 @Override public int getRuleIndex() { return RULE_isolationLevel; }
11457 @Override
11458 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11459 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIsolationLevel(this);
11460 else return visitor.visitChildren(this);
11461 }
11462 }
11463
11464 public final IsolationLevelContext isolationLevel() throws RecognitionException {
11465 IsolationLevelContext _localctx = new IsolationLevelContext(_ctx, getState());
11466 enterRule(_localctx, 204, RULE_isolationLevel);
11467 try {
11468 enterOuterAlt(_localctx, 1);
11469 {
11470 setState(1383);
11471 match(ISOLATION);
11472 setState(1384);
11473 match(LEVEL);
11474 setState(1385);
11475 isolationTypes();
11476 }
11477 }
11478 catch (RecognitionException re) {
11479 _localctx.exception = re;
11480 _errHandler.reportError(this, re);
11481 _errHandler.recover(this, re);
11482 }
11483 finally {
11484 exitRule();
11485 }
11486 return _localctx;
11487 }
11488
11489 public static class IsolationTypesContext extends ParserRuleContext {
11490 public TerminalNode REPEATABLE() { return getToken(HiveStatementParser.REPEATABLE, 0); }
11491 public TerminalNode READ() { return getToken(HiveStatementParser.READ, 0); }
11492 public TerminalNode COMMITTED() { return getToken(HiveStatementParser.COMMITTED, 0); }
11493 public TerminalNode UNCOMMITTED() { return getToken(HiveStatementParser.UNCOMMITTED, 0); }
11494 public TerminalNode SERIALIZABLE() { return getToken(HiveStatementParser.SERIALIZABLE, 0); }
11495 public IsolationTypesContext(ParserRuleContext parent, int invokingState) {
11496 super(parent, invokingState);
11497 }
11498 @Override public int getRuleIndex() { return RULE_isolationTypes; }
11499 @Override
11500 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11501 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIsolationTypes(this);
11502 else return visitor.visitChildren(this);
11503 }
11504 }
11505
11506 public final IsolationTypesContext isolationTypes() throws RecognitionException {
11507 IsolationTypesContext _localctx = new IsolationTypesContext(_ctx, getState());
11508 enterRule(_localctx, 206, RULE_isolationTypes);
11509 try {
11510 setState(1394);
11511 _errHandler.sync(this);
11512 switch ( getInterpreter().adaptivePredict(_input,154,_ctx) ) {
11513 case 1:
11514 enterOuterAlt(_localctx, 1);
11515 {
11516 setState(1387);
11517 match(REPEATABLE);
11518 setState(1388);
11519 match(READ);
11520 }
11521 break;
11522 case 2:
11523 enterOuterAlt(_localctx, 2);
11524 {
11525 setState(1389);
11526 match(READ);
11527 setState(1390);
11528 match(COMMITTED);
11529 }
11530 break;
11531 case 3:
11532 enterOuterAlt(_localctx, 3);
11533 {
11534 setState(1391);
11535 match(READ);
11536 setState(1392);
11537 match(UNCOMMITTED);
11538 }
11539 break;
11540 case 4:
11541 enterOuterAlt(_localctx, 4);
11542 {
11543 setState(1393);
11544 match(SERIALIZABLE);
11545 }
11546 break;
11547 }
11548 }
11549 catch (RecognitionException re) {
11550 _localctx.exception = re;
11551 _errHandler.reportError(this, re);
11552 _errHandler.recover(this, re);
11553 }
11554 finally {
11555 exitRule();
11556 }
11557 return _localctx;
11558 }
11559
11560 public static class TransactionAccessModeContext extends ParserRuleContext {
11561 public TerminalNode READ() { return getToken(HiveStatementParser.READ, 0); }
11562 public TerminalNode WRITE() { return getToken(HiveStatementParser.WRITE, 0); }
11563 public TerminalNode ONLY() { return getToken(HiveStatementParser.ONLY, 0); }
11564 public TransactionAccessModeContext(ParserRuleContext parent, int invokingState) {
11565 super(parent, invokingState);
11566 }
11567 @Override public int getRuleIndex() { return RULE_transactionAccessMode; }
11568 @Override
11569 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11570 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTransactionAccessMode(this);
11571 else return visitor.visitChildren(this);
11572 }
11573 }
11574
11575 public final TransactionAccessModeContext transactionAccessMode() throws RecognitionException {
11576 TransactionAccessModeContext _localctx = new TransactionAccessModeContext(_ctx, getState());
11577 enterRule(_localctx, 208, RULE_transactionAccessMode);
11578 int _la;
11579 try {
11580 enterOuterAlt(_localctx, 1);
11581 {
11582 setState(1396);
11583 match(READ);
11584 setState(1397);
11585 _la = _input.LA(1);
11586 if ( !(_la==ONLY || _la==WRITE) ) {
11587 _errHandler.recoverInline(this);
11588 }
11589 else {
11590 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11591 _errHandler.reportMatch(this);
11592 consume();
11593 }
11594 }
11595 }
11596 catch (RecognitionException re) {
11597 _localctx.exception = re;
11598 _errHandler.reportError(this, re);
11599 _errHandler.recover(this, re);
11600 }
11601 finally {
11602 exitRule();
11603 }
11604 return _localctx;
11605 }
11606
11607 public static class SchemaNameContext extends ParserRuleContext {
11608 public IdentifierContext identifier() {
11609 return getRuleContext(IdentifierContext.class,0);
11610 }
11611 public SchemaNameContext(ParserRuleContext parent, int invokingState) {
11612 super(parent, invokingState);
11613 }
11614 @Override public int getRuleIndex() { return RULE_schemaName; }
11615 @Override
11616 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11617 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSchemaName(this);
11618 else return visitor.visitChildren(this);
11619 }
11620 }
11621
11622 public final SchemaNameContext schemaName() throws RecognitionException {
11623 SchemaNameContext _localctx = new SchemaNameContext(_ctx, getState());
11624 enterRule(_localctx, 210, RULE_schemaName);
11625 try {
11626 enterOuterAlt(_localctx, 1);
11627 {
11628 setState(1399);
11629 identifier();
11630 }
11631 }
11632 catch (RecognitionException re) {
11633 _localctx.exception = re;
11634 _errHandler.reportError(this, re);
11635 _errHandler.recover(this, re);
11636 }
11637 finally {
11638 exitRule();
11639 }
11640 return _localctx;
11641 }
11642
11643 public static class SchemaNamesContext extends ParserRuleContext {
11644 public List<SchemaNameContext> schemaName() {
11645 return getRuleContexts(SchemaNameContext.class);
11646 }
11647 public SchemaNameContext schemaName(int i) {
11648 return getRuleContext(SchemaNameContext.class,i);
11649 }
11650 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
11651 public TerminalNode COMMA_(int i) {
11652 return getToken(HiveStatementParser.COMMA_, i);
11653 }
11654 public SchemaNamesContext(ParserRuleContext parent, int invokingState) {
11655 super(parent, invokingState);
11656 }
11657 @Override public int getRuleIndex() { return RULE_schemaNames; }
11658 @Override
11659 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11660 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSchemaNames(this);
11661 else return visitor.visitChildren(this);
11662 }
11663 }
11664
11665 public final SchemaNamesContext schemaNames() throws RecognitionException {
11666 SchemaNamesContext _localctx = new SchemaNamesContext(_ctx, getState());
11667 enterRule(_localctx, 212, RULE_schemaNames);
11668 int _la;
11669 try {
11670 enterOuterAlt(_localctx, 1);
11671 {
11672 setState(1401);
11673 schemaName();
11674 setState(1406);
11675 _errHandler.sync(this);
11676 _la = _input.LA(1);
11677 while (_la==COMMA_) {
11678 {
11679 {
11680 setState(1402);
11681 match(COMMA_);
11682 setState(1403);
11683 schemaName();
11684 }
11685 }
11686 setState(1408);
11687 _errHandler.sync(this);
11688 _la = _input.LA(1);
11689 }
11690 }
11691 }
11692 catch (RecognitionException re) {
11693 _localctx.exception = re;
11694 _errHandler.reportError(this, re);
11695 _errHandler.recover(this, re);
11696 }
11697 finally {
11698 exitRule();
11699 }
11700 return _localctx;
11701 }
11702
11703 public static class CharsetNameContext extends ParserRuleContext {
11704 public TextOrIdentifierContext textOrIdentifier() {
11705 return getRuleContext(TextOrIdentifierContext.class,0);
11706 }
11707 public TerminalNode BINARY() { return getToken(HiveStatementParser.BINARY, 0); }
11708 public TerminalNode DEFAULT() { return getToken(HiveStatementParser.DEFAULT, 0); }
11709 public CharsetNameContext(ParserRuleContext parent, int invokingState) {
11710 super(parent, invokingState);
11711 }
11712 @Override public int getRuleIndex() { return RULE_charsetName; }
11713 @Override
11714 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11715 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCharsetName(this);
11716 else return visitor.visitChildren(this);
11717 }
11718 }
11719
11720 public final CharsetNameContext charsetName() throws RecognitionException {
11721 CharsetNameContext _localctx = new CharsetNameContext(_ctx, getState());
11722 enterRule(_localctx, 214, RULE_charsetName);
11723 try {
11724 setState(1412);
11725 _errHandler.sync(this);
11726 switch (_input.LA(1)) {
11727 case MAX:
11728 case MIN:
11729 case SUM:
11730 case COUNT:
11731 case GROUP_CONCAT:
11732 case CAST:
11733 case POSITION:
11734 case SUBSTRING:
11735 case SUBSTR:
11736 case EXTRACT:
11737 case TRIM:
11738 case LAST_DAY:
11739 case TRADITIONAL:
11740 case TREE:
11741 case MYSQL_MAIN:
11742 case MYSQL_ADMIN:
11743 case INSTANT:
11744 case INPLACE:
11745 case COPY:
11746 case UL_BINARY:
11747 case AUTOCOMMIT:
11748 case INNODB:
11749 case REDO_LOG:
11750 case ACCOUNT:
11751 case ACTION:
11752 case ACTIVE:
11753 case ADMIN:
11754 case AFTER:
11755 case AGAINST:
11756 case AGGREGATE:
11757 case ALGORITHM:
11758 case ALWAYS:
11759 case ANY:
11760 case ARRAY:
11761 case ASCII:
11762 case AT:
11763 case ATTRIBUTE:
11764 case AUTOEXTEND_SIZE:
11765 case AUTO_INCREMENT:
11766 case AVG:
11767 case BIT_XOR:
11768 case AVG_ROW_LENGTH:
11769 case BACKUP:
11770 case BEGIN:
11771 case BINLOG:
11772 case BIT:
11773 case BLOCK:
11774 case BOOL:
11775 case BOOLEAN:
11776 case BTREE:
11777 case BUCKETS:
11778 case BYTE:
11779 case CACHE:
11780 case CASCADED:
11781 case CATALOG_NAME:
11782 case CHAIN:
11783 case CHANGED:
11784 case CHANNEL:
11785 case CHARSET:
11786 case CHECKSUM:
11787 case CIPHER:
11788 case CLASS_ORIGIN:
11789 case CLIENT:
11790 case CLONE:
11791 case CLOSE:
11792 case COALESCE:
11793 case CODE:
11794 case COLLATION:
11795 case COLUMNS:
11796 case COLUMN_FORMAT:
11797 case COLUMN_NAME:
11798 case COMMENT:
11799 case COMMIT:
11800 case COMMITTED:
11801 case COMPACT:
11802 case COMPLETION:
11803 case COMPONENT:
11804 case COMPRESSED:
11805 case COMPRESSION:
11806 case CONCURRENT:
11807 case CONNECTION:
11808 case CONSISTENT:
11809 case CONSTRAINT_CATALOG:
11810 case CONSTRAINT_NAME:
11811 case CONSTRAINT_SCHEMA:
11812 case CONTAINS:
11813 case CONTEXT:
11814 case CPU:
11815 case CREATE:
11816 case CURRENT:
11817 case CURSOR_NAME:
11818 case DATA:
11819 case DATAFILE:
11820 case DATE:
11821 case DATETIME:
11822 case DAY:
11823 case DAY_MINUTE:
11824 case DEALLOCATE:
11825 case DEFAULT_AUTH:
11826 case DEFINER:
11827 case DEFINITION:
11828 case DELAY_KEY_WRITE:
11829 case DESCRIPTION:
11830 case DIAGNOSTICS:
11831 case DIRECTORY:
11832 case DISABLE:
11833 case DISCARD:
11834 case DISK:
11835 case DO:
11836 case DUMPFILE:
11837 case DUPLICATE:
11838 case DYNAMIC:
11839 case ENABLE:
11840 case ENCRYPTION:
11841 case END:
11842 case ENDS:
11843 case ENFORCED:
11844 case ENGINE:
11845 case ENGINES:
11846 case ENGINE_ATTRIBUTE:
11847 case ENUM:
11848 case ERROR:
11849 case ERRORS:
11850 case ESCAPE:
11851 case EVENT:
11852 case EVENTS:
11853 case EVERY:
11854 case EXCHANGE:
11855 case EXCLUDE:
11856 case EXECUTE:
11857 case EXPANSION:
11858 case EXPIRE:
11859 case EXPORT:
11860 case EXTENDED:
11861 case EXTENT_SIZE:
11862 case FAILED_LOGIN_ATTEMPTS:
11863 case FAST:
11864 case FAULTS:
11865 case FILE:
11866 case FILE_BLOCK_SIZE:
11867 case FILTER:
11868 case FIRST:
11869 case FIXED:
11870 case FLUSH:
11871 case FOLLOWING:
11872 case FOLLOWS:
11873 case FORMAT:
11874 case FOUND:
11875 case FULL:
11876 case GENERAL:
11877 case GEOMETRY:
11878 case GEOMETRYCOLLECTION:
11879 case GET_FORMAT:
11880 case GET_MASTER_PUBLIC_KEY:
11881 case GLOBAL:
11882 case GRANTS:
11883 case GROUP_REPLICATION:
11884 case HANDLER:
11885 case HASH:
11886 case HELP:
11887 case HISTOGRAM:
11888 case HISTORY:
11889 case HOST:
11890 case HOSTS:
11891 case HOUR:
11892 case IDENTIFIED:
11893 case IGNORE_SERVER_IDS:
11894 case IMPORT:
11895 case INACTIVE:
11896 case INDEXES:
11897 case INITIAL_SIZE:
11898 case INSERT_METHOD:
11899 case INSTALL:
11900 case INSTANCE:
11901 case INVISIBLE:
11902 case INVOKER:
11903 case IO:
11904 case IPC:
11905 case ISOLATION:
11906 case ISSUER:
11907 case JSON:
11908 case JSON_VALUE:
11909 case KEY:
11910 case KEY_BLOCK_SIZE:
11911 case LANGUAGE:
11912 case LAST:
11913 case LAST_VALUE:
11914 case LEAVES:
11915 case LESS:
11916 case LEVEL:
11917 case LINESTRING:
11918 case LIST:
11919 case LOCAL:
11920 case LOCKED:
11921 case LOCKS:
11922 case LOGFILE:
11923 case LOGS:
11924 case MASTER:
11925 case MASTER_AUTO_POSITION:
11926 case MASTER_COMPRESSION_ALGORITHM:
11927 case MASTER_CONNECT_RETRY:
11928 case MASTER_DELAY:
11929 case MASTER_HEARTBEAT_PERIOD:
11930 case MASTER_HOST:
11931 case MASTER_LOG_FILE:
11932 case MASTER_LOG_POS:
11933 case MASTER_PASSWORD:
11934 case MASTER_PORT:
11935 case MASTER_PUBLIC_KEY_PATH:
11936 case MASTER_RETRY_COUNT:
11937 case MASTER_SERVER_ID:
11938 case MASTER_SSL:
11939 case MASTER_SSL_CA:
11940 case MASTER_SSL_CAPATH:
11941 case MASTER_SSL_CERT:
11942 case MASTER_SSL_CIPHER:
11943 case MASTER_SSL_CRL:
11944 case MASTER_SSL_CRLPATH:
11945 case MASTER_SSL_KEY:
11946 case MASTER_TLS_CIPHERSUITES:
11947 case MASTER_TLS_VERSION:
11948 case MASTER_USER:
11949 case MASTER_ZSTD_COMPRESSION_LEVEL:
11950 case MAXVALUE:
11951 case MAX_CONNECTIONS_PER_HOUR:
11952 case MAX_QUERIES_PER_HOUR:
11953 case MAX_ROWS:
11954 case MAX_SIZE:
11955 case MAX_UPDATES_PER_HOUR:
11956 case MAX_USER_CONNECTIONS:
11957 case MEDIUM:
11958 case MEMBER:
11959 case MEMORY:
11960 case MERGE:
11961 case MESSAGE_TEXT:
11962 case MICROSECOND:
11963 case MIGRATE:
11964 case MINUTE:
11965 case MIN_ROWS:
11966 case MODE:
11967 case MODIFY:
11968 case MONTH:
11969 case MULTILINESTRING:
11970 case MULTIPOINT:
11971 case MULTIPOLYGON:
11972 case MUTEX:
11973 case MYSQL_ERRNO:
11974 case NAME:
11975 case NAMES:
11976 case NATIONAL:
11977 case NCHAR:
11978 case NDBCLUSTER:
11979 case NESTED:
11980 case NETWORK_NAMESPACE:
11981 case NEVER:
11982 case NEW:
11983 case NEXT:
11984 case NO:
11985 case NODEGROUP:
11986 case NONE:
11987 case NOWAIT:
11988 case NO_WAIT:
11989 case NULLS:
11990 case NUMBER:
11991 case NVARCHAR:
11992 case OFF:
11993 case OFFSET:
11994 case OJ:
11995 case OLD:
11996 case ONE:
11997 case ONLY:
11998 case OPEN:
11999 case OPTIONAL:
12000 case OPTIONS:
12001 case ORDINALITY:
12002 case ORGANIZATION:
12003 case OTHERS:
12004 case OWNER:
12005 case PACK_KEYS:
12006 case PAGE:
12007 case PARSER:
12008 case PARTIAL:
12009 case PARTITIONING:
12010 case PARTITIONS:
12011 case PASSWORD:
12012 case PASSWORD_LOCK_TIME:
12013 case PATH:
12014 case PERSIST:
12015 case PERSIST_ONLY:
12016 case PHASE:
12017 case PLUGIN:
12018 case PLUGINS:
12019 case PLUGIN_DIR:
12020 case POINT:
12021 case POLYGON:
12022 case PORT:
12023 case PRECEDES:
12024 case PRECEDING:
12025 case PREPARE:
12026 case PRESERVE:
12027 case PREV:
12028 case PRIMARY:
12029 case PRIVILEGES:
12030 case PRIVILEGE_CHECKS_USER:
12031 case PROCESS:
12032 case PROCESSLIST:
12033 case PROFILE:
12034 case PROFILES:
12035 case PROXY:
12036 case QUARTER:
12037 case QUERY:
12038 case QUICK:
12039 case RANDOM:
12040 case READ_ONLY:
12041 case REBUILD:
12042 case RECOVER:
12043 case REDO_BUFFER_SIZE:
12044 case REDUNDANT:
12045 case REFERENCE:
12046 case RELAY:
12047 case RELAYLOG:
12048 case RELAY_LOG_FILE:
12049 case RELAY_LOG_POS:
12050 case RELAY_THREAD:
12051 case RELOAD:
12052 case REMOVE:
12053 case REORGANIZE:
12054 case REPAIR:
12055 case REPEATABLE:
12056 case REPLICATE_DO_DB:
12057 case REPLICATE_DO_TABLE:
12058 case REPLICATE_IGNORE_DB:
12059 case REPLICATE_IGNORE_TABLE:
12060 case REPLICATE_REWRITE_DB:
12061 case REPLICATE_WILD_DO_TABLE:
12062 case REPLICATE_WILD_IGNORE_TABLE:
12063 case REPLICATION:
12064 case REQUIRE_ROW_FORMAT:
12065 case RESET:
12066 case RESOURCE:
12067 case RESPECT:
12068 case RESTART:
12069 case RESTORE:
12070 case RESUME:
12071 case RETAIN:
12072 case RETURNED_SQLSTATE:
12073 case RETURNING:
12074 case RETURNS:
12075 case REUSE:
12076 case REVERSE:
12077 case ROLE:
12078 case ROLLBACK:
12079 case ROLLUP:
12080 case ROTATE:
12081 case ROUTINE:
12082 case ROW_COUNT:
12083 case ROW_FORMAT:
12084 case RTREE:
12085 case SAVEPOINT:
12086 case SCHEDULE:
12087 case SCHEMA_NAME:
12088 case SECOND:
12089 case SECONDARY:
12090 case SECONDARY_ENGINE:
12091 case SECONDARY_ENGINE_ATTRIBUTE:
12092 case SECONDARY_LOAD:
12093 case SECONDARY_UNLOAD:
12094 case SECURITY:
12095 case SERIAL:
12096 case SERIALIZABLE:
12097 case SERVER:
12098 case SESSION:
12099 case SHARE:
12100 case SHUTDOWN:
12101 case SIGNED:
12102 case SIMPLE:
12103 case SLAVE:
12104 case SLOW:
12105 case SNAPSHOT:
12106 case SOCKET:
12107 case SONAME:
12108 case SOUNDS:
12109 case SOURCE:
12110 case SQL_AFTER_GTIDS:
12111 case SQL_AFTER_MTS_GAPS:
12112 case SQL_BEFORE_GTIDS:
12113 case SQL_BUFFER_RESULT:
12114 case SQL_NO_CACHE:
12115 case SQL_THREAD:
12116 case SRID:
12117 case STACKED:
12118 case START:
12119 case STARTS:
12120 case STATS_AUTO_RECALC:
12121 case STATS_PERSISTENT:
12122 case STATS_SAMPLE_PAGES:
12123 case STATUS:
12124 case STOP:
12125 case STORAGE:
12126 case STREAM:
12127 case STRING:
12128 case SUBCLASS_ORIGIN:
12129 case SUBJECT:
12130 case SUBPARTITION:
12131 case SUBPARTITIONS:
12132 case SUPER:
12133 case SUSPEND:
12134 case SWAPS:
12135 case SWITCHES:
12136 case SYSTEM:
12137 case TABLE:
12138 case TABLES:
12139 case TABLESPACE:
12140 case TABLE_CHECKSUM:
12141 case TABLE_NAME:
12142 case TEMPORARY:
12143 case TEMPTABLE:
12144 case TEXT:
12145 case THAN:
12146 case THREAD_PRIORITY:
12147 case TIES:
12148 case TIME:
12149 case TIMESTAMP:
12150 case TIMESTAMP_ADD:
12151 case TIMESTAMP_DIFF:
12152 case TLS:
12153 case TRANSACTION:
12154 case TRIGGERS:
12155 case TRUNCATE:
12156 case TYPE:
12157 case TYPES:
12158 case UNBOUNDED:
12159 case UNCOMMITTED:
12160 case UNDEFINED:
12161 case UNDOFILE:
12162 case UNDO_BUFFER_SIZE:
12163 case UNICODE:
12164 case UNINSTALL:
12165 case UNKNOWN:
12166 case UNTIL:
12167 case UPGRADE:
12168 case USER:
12169 case USER_RESOURCES:
12170 case USE_FRM:
12171 case UTC_DATE:
12172 case UTC_TIME:
12173 case UTC_TIMESTAMP:
12174 case VALIDATION:
12175 case VALUE:
12176 case VARIABLES:
12177 case VCPU:
12178 case VIEW:
12179 case VISIBLE:
12180 case WAIT:
12181 case WARNINGS:
12182 case WEEK:
12183 case WEIGHT_STRING:
12184 case WITHOUT:
12185 case WORK:
12186 case WRAPPER:
12187 case X509:
12188 case XA:
12189 case XID:
12190 case XML:
12191 case YEAR:
12192 case YEAR_MONTH:
12193 case SINGLE_QUOTED_TEXT:
12194 case DOUBLE_QUOTED_TEXT:
12195 case BQUOTA_STRING:
12196 case UNDERSCORE_CHARSET:
12197 case IDENTIFIER_:
12198 case IP_ADDRESS:
12199 enterOuterAlt(_localctx, 1);
12200 {
12201 setState(1409);
12202 textOrIdentifier();
12203 }
12204 break;
12205 case BINARY:
12206 enterOuterAlt(_localctx, 2);
12207 {
12208 setState(1410);
12209 match(BINARY);
12210 }
12211 break;
12212 case DEFAULT:
12213 enterOuterAlt(_localctx, 3);
12214 {
12215 setState(1411);
12216 match(DEFAULT);
12217 }
12218 break;
12219 default:
12220 throw new NoViableAltException(this);
12221 }
12222 }
12223 catch (RecognitionException re) {
12224 _localctx.exception = re;
12225 _errHandler.reportError(this, re);
12226 _errHandler.recover(this, re);
12227 }
12228 finally {
12229 exitRule();
12230 }
12231 return _localctx;
12232 }
12233
12234 public static class SchemaPairsContext extends ParserRuleContext {
12235 public List<SchemaPairContext> schemaPair() {
12236 return getRuleContexts(SchemaPairContext.class);
12237 }
12238 public SchemaPairContext schemaPair(int i) {
12239 return getRuleContext(SchemaPairContext.class,i);
12240 }
12241 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
12242 public TerminalNode COMMA_(int i) {
12243 return getToken(HiveStatementParser.COMMA_, i);
12244 }
12245 public SchemaPairsContext(ParserRuleContext parent, int invokingState) {
12246 super(parent, invokingState);
12247 }
12248 @Override public int getRuleIndex() { return RULE_schemaPairs; }
12249 @Override
12250 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12251 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSchemaPairs(this);
12252 else return visitor.visitChildren(this);
12253 }
12254 }
12255
12256 public final SchemaPairsContext schemaPairs() throws RecognitionException {
12257 SchemaPairsContext _localctx = new SchemaPairsContext(_ctx, getState());
12258 enterRule(_localctx, 216, RULE_schemaPairs);
12259 int _la;
12260 try {
12261 enterOuterAlt(_localctx, 1);
12262 {
12263 setState(1414);
12264 schemaPair();
12265 setState(1419);
12266 _errHandler.sync(this);
12267 _la = _input.LA(1);
12268 while (_la==COMMA_) {
12269 {
12270 {
12271 setState(1415);
12272 match(COMMA_);
12273 setState(1416);
12274 schemaPair();
12275 }
12276 }
12277 setState(1421);
12278 _errHandler.sync(this);
12279 _la = _input.LA(1);
12280 }
12281 }
12282 }
12283 catch (RecognitionException re) {
12284 _localctx.exception = re;
12285 _errHandler.reportError(this, re);
12286 _errHandler.recover(this, re);
12287 }
12288 finally {
12289 exitRule();
12290 }
12291 return _localctx;
12292 }
12293
12294 public static class SchemaPairContext extends ParserRuleContext {
12295 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
12296 public List<SchemaNameContext> schemaName() {
12297 return getRuleContexts(SchemaNameContext.class);
12298 }
12299 public SchemaNameContext schemaName(int i) {
12300 return getRuleContext(SchemaNameContext.class,i);
12301 }
12302 public TerminalNode COMMA_() { return getToken(HiveStatementParser.COMMA_, 0); }
12303 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
12304 public SchemaPairContext(ParserRuleContext parent, int invokingState) {
12305 super(parent, invokingState);
12306 }
12307 @Override public int getRuleIndex() { return RULE_schemaPair; }
12308 @Override
12309 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12310 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSchemaPair(this);
12311 else return visitor.visitChildren(this);
12312 }
12313 }
12314
12315 public final SchemaPairContext schemaPair() throws RecognitionException {
12316 SchemaPairContext _localctx = new SchemaPairContext(_ctx, getState());
12317 enterRule(_localctx, 218, RULE_schemaPair);
12318 try {
12319 enterOuterAlt(_localctx, 1);
12320 {
12321 setState(1422);
12322 match(LP_);
12323 setState(1423);
12324 schemaName();
12325 setState(1424);
12326 match(COMMA_);
12327 setState(1425);
12328 schemaName();
12329 setState(1426);
12330 match(RP_);
12331 }
12332 }
12333 catch (RecognitionException re) {
12334 _localctx.exception = re;
12335 _errHandler.reportError(this, re);
12336 _errHandler.recover(this, re);
12337 }
12338 finally {
12339 exitRule();
12340 }
12341 return _localctx;
12342 }
12343
12344 public static class TableNameContext extends ParserRuleContext {
12345 public NameContext name() {
12346 return getRuleContext(NameContext.class,0);
12347 }
12348 public OwnerContext owner() {
12349 return getRuleContext(OwnerContext.class,0);
12350 }
12351 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
12352 public TableNameContext(ParserRuleContext parent, int invokingState) {
12353 super(parent, invokingState);
12354 }
12355 @Override public int getRuleIndex() { return RULE_tableName; }
12356 @Override
12357 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12358 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableName(this);
12359 else return visitor.visitChildren(this);
12360 }
12361 }
12362
12363 public final TableNameContext tableName() throws RecognitionException {
12364 TableNameContext _localctx = new TableNameContext(_ctx, getState());
12365 enterRule(_localctx, 220, RULE_tableName);
12366 try {
12367 enterOuterAlt(_localctx, 1);
12368 {
12369 setState(1431);
12370 _errHandler.sync(this);
12371 switch ( getInterpreter().adaptivePredict(_input,158,_ctx) ) {
12372 case 1:
12373 {
12374 setState(1428);
12375 owner();
12376 setState(1429);
12377 match(DOT_);
12378 }
12379 break;
12380 }
12381 setState(1433);
12382 name();
12383 }
12384 }
12385 catch (RecognitionException re) {
12386 _localctx.exception = re;
12387 _errHandler.reportError(this, re);
12388 _errHandler.recover(this, re);
12389 }
12390 finally {
12391 exitRule();
12392 }
12393 return _localctx;
12394 }
12395
12396 public static class ColumnNameContext extends ParserRuleContext {
12397 public IdentifierContext identifier() {
12398 return getRuleContext(IdentifierContext.class,0);
12399 }
12400 public ColumnNameContext(ParserRuleContext parent, int invokingState) {
12401 super(parent, invokingState);
12402 }
12403 @Override public int getRuleIndex() { return RULE_columnName; }
12404 @Override
12405 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12406 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitColumnName(this);
12407 else return visitor.visitChildren(this);
12408 }
12409 }
12410
12411 public final ColumnNameContext columnName() throws RecognitionException {
12412 ColumnNameContext _localctx = new ColumnNameContext(_ctx, getState());
12413 enterRule(_localctx, 222, RULE_columnName);
12414 try {
12415 enterOuterAlt(_localctx, 1);
12416 {
12417 setState(1435);
12418 identifier();
12419 }
12420 }
12421 catch (RecognitionException re) {
12422 _localctx.exception = re;
12423 _errHandler.reportError(this, re);
12424 _errHandler.recover(this, re);
12425 }
12426 finally {
12427 exitRule();
12428 }
12429 return _localctx;
12430 }
12431
12432 public static class IndexNameContext extends ParserRuleContext {
12433 public IdentifierContext identifier() {
12434 return getRuleContext(IdentifierContext.class,0);
12435 }
12436 public IndexNameContext(ParserRuleContext parent, int invokingState) {
12437 super(parent, invokingState);
12438 }
12439 @Override public int getRuleIndex() { return RULE_indexName; }
12440 @Override
12441 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12442 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIndexName(this);
12443 else return visitor.visitChildren(this);
12444 }
12445 }
12446
12447 public final IndexNameContext indexName() throws RecognitionException {
12448 IndexNameContext _localctx = new IndexNameContext(_ctx, getState());
12449 enterRule(_localctx, 224, RULE_indexName);
12450 try {
12451 enterOuterAlt(_localctx, 1);
12452 {
12453 setState(1437);
12454 identifier();
12455 }
12456 }
12457 catch (RecognitionException re) {
12458 _localctx.exception = re;
12459 _errHandler.reportError(this, re);
12460 _errHandler.recover(this, re);
12461 }
12462 finally {
12463 exitRule();
12464 }
12465 return _localctx;
12466 }
12467
12468 public static class ConstraintNameContext extends ParserRuleContext {
12469 public IdentifierContext identifier() {
12470 return getRuleContext(IdentifierContext.class,0);
12471 }
12472 public ConstraintNameContext(ParserRuleContext parent, int invokingState) {
12473 super(parent, invokingState);
12474 }
12475 @Override public int getRuleIndex() { return RULE_constraintName; }
12476 @Override
12477 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12478 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitConstraintName(this);
12479 else return visitor.visitChildren(this);
12480 }
12481 }
12482
12483 public final ConstraintNameContext constraintName() throws RecognitionException {
12484 ConstraintNameContext _localctx = new ConstraintNameContext(_ctx, getState());
12485 enterRule(_localctx, 226, RULE_constraintName);
12486 try {
12487 enterOuterAlt(_localctx, 1);
12488 {
12489 setState(1439);
12490 identifier();
12491 }
12492 }
12493 catch (RecognitionException re) {
12494 _localctx.exception = re;
12495 _errHandler.reportError(this, re);
12496 _errHandler.recover(this, re);
12497 }
12498 finally {
12499 exitRule();
12500 }
12501 return _localctx;
12502 }
12503
12504 public static class OldColumnContext extends ParserRuleContext {
12505 public ColumnNameContext columnName() {
12506 return getRuleContext(ColumnNameContext.class,0);
12507 }
12508 public OldColumnContext(ParserRuleContext parent, int invokingState) {
12509 super(parent, invokingState);
12510 }
12511 @Override public int getRuleIndex() { return RULE_oldColumn; }
12512 @Override
12513 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12514 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitOldColumn(this);
12515 else return visitor.visitChildren(this);
12516 }
12517 }
12518
12519 public final OldColumnContext oldColumn() throws RecognitionException {
12520 OldColumnContext _localctx = new OldColumnContext(_ctx, getState());
12521 enterRule(_localctx, 228, RULE_oldColumn);
12522 try {
12523 enterOuterAlt(_localctx, 1);
12524 {
12525 setState(1441);
12526 columnName();
12527 }
12528 }
12529 catch (RecognitionException re) {
12530 _localctx.exception = re;
12531 _errHandler.reportError(this, re);
12532 _errHandler.recover(this, re);
12533 }
12534 finally {
12535 exitRule();
12536 }
12537 return _localctx;
12538 }
12539
12540 public static class NewColumnContext extends ParserRuleContext {
12541 public ColumnNameContext columnName() {
12542 return getRuleContext(ColumnNameContext.class,0);
12543 }
12544 public NewColumnContext(ParserRuleContext parent, int invokingState) {
12545 super(parent, invokingState);
12546 }
12547 @Override public int getRuleIndex() { return RULE_newColumn; }
12548 @Override
12549 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12550 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitNewColumn(this);
12551 else return visitor.visitChildren(this);
12552 }
12553 }
12554
12555 public final NewColumnContext newColumn() throws RecognitionException {
12556 NewColumnContext _localctx = new NewColumnContext(_ctx, getState());
12557 enterRule(_localctx, 230, RULE_newColumn);
12558 try {
12559 enterOuterAlt(_localctx, 1);
12560 {
12561 setState(1443);
12562 columnName();
12563 }
12564 }
12565 catch (RecognitionException re) {
12566 _localctx.exception = re;
12567 _errHandler.reportError(this, re);
12568 _errHandler.recover(this, re);
12569 }
12570 finally {
12571 exitRule();
12572 }
12573 return _localctx;
12574 }
12575
12576 public static class DelimiterNameContext extends ParserRuleContext {
12577 public TextOrIdentifierContext textOrIdentifier() {
12578 return getRuleContext(TextOrIdentifierContext.class,0);
12579 }
12580 public List<TerminalNode> BACKSLASH_() { return getTokens(HiveStatementParser.BACKSLASH_); }
12581 public TerminalNode BACKSLASH_(int i) {
12582 return getToken(HiveStatementParser.BACKSLASH_, i);
12583 }
12584 public List<TerminalNode> SQ_() { return getTokens(HiveStatementParser.SQ_); }
12585 public TerminalNode SQ_(int i) {
12586 return getToken(HiveStatementParser.SQ_, i);
12587 }
12588 public List<TerminalNode> DQ_() { return getTokens(HiveStatementParser.DQ_); }
12589 public TerminalNode DQ_(int i) {
12590 return getToken(HiveStatementParser.DQ_, i);
12591 }
12592 public List<TerminalNode> BQ_() { return getTokens(HiveStatementParser.BQ_); }
12593 public TerminalNode BQ_(int i) {
12594 return getToken(HiveStatementParser.BQ_, i);
12595 }
12596 public DelimiterNameContext(ParserRuleContext parent, int invokingState) {
12597 super(parent, invokingState);
12598 }
12599 @Override public int getRuleIndex() { return RULE_delimiterName; }
12600 @Override
12601 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12602 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDelimiterName(this);
12603 else return visitor.visitChildren(this);
12604 }
12605 }
12606
12607 public final DelimiterNameContext delimiterName() throws RecognitionException {
12608 DelimiterNameContext _localctx = new DelimiterNameContext(_ctx, getState());
12609 enterRule(_localctx, 232, RULE_delimiterName);
12610 int _la;
12611 try {
12612 setState(1453);
12613 _errHandler.sync(this);
12614 switch ( getInterpreter().adaptivePredict(_input,161,_ctx) ) {
12615 case 1:
12616 enterOuterAlt(_localctx, 1);
12617 {
12618 setState(1445);
12619 textOrIdentifier();
12620 }
12621 break;
12622 case 2:
12623 enterOuterAlt(_localctx, 2);
12624 {
12625 setState(1449);
12626 _errHandler.sync(this);
12627 _la = _input.LA(1);
12628 do {
12629 {
12630 setState(1449);
12631 _errHandler.sync(this);
12632 switch (_input.LA(1)) {
12633 case BACKSLASH_:
12634 {
12635 setState(1446);
12636 match(BACKSLASH_);
12637 setState(1447);
12638 matchWildcard();
12639 }
12640 break;
12641 case BLOCK_COMMENT:
12642 case INLINE_COMMENT:
12643 case AND_:
12644 case OR_:
12645 case NOT_:
12646 case TILDE_:
12647 case VERTICAL_BAR_:
12648 case AMPERSAND_:
12649 case SIGNED_LEFT_SHIFT_:
12650 case SIGNED_RIGHT_SHIFT_:
12651 case CARET_:
12652 case MOD_:
12653 case COLON_:
12654 case PLUS_:
12655 case MINUS_:
12656 case ASTERISK_:
12657 case SLASH_:
12658 case DOT_:
12659 case DOT_ASTERISK_:
12660 case SAFE_EQ_:
12661 case DEQ_:
12662 case EQ_:
12663 case NEQ_:
12664 case GT_:
12665 case GTE_:
12666 case LT_:
12667 case LTE_:
12668 case POUND_:
12669 case LP_:
12670 case RP_:
12671 case LBE_:
12672 case RBE_:
12673 case LBT_:
12674 case RBT_:
12675 case COMMA_:
12676 case QUESTION_:
12677 case AT_:
12678 case SEMI_:
12679 case ASSIGNMENT_:
12680 case JSON_SEPARATOR:
12681 case JSON_UNQUOTED_SEPARATOR:
12682 case WS:
12683 case MAX:
12684 case MIN:
12685 case SUM:
12686 case COUNT:
12687 case GROUP_CONCAT:
12688 case CAST:
12689 case POSITION:
12690 case SUBSTRING:
12691 case SUBSTR:
12692 case EXTRACT:
12693 case TRIM:
12694 case LAST_DAY:
12695 case TRADITIONAL:
12696 case TREE:
12697 case MYSQL_MAIN:
12698 case MYSQL_ADMIN:
12699 case INSTANT:
12700 case INPLACE:
12701 case COPY:
12702 case UL_BINARY:
12703 case AUTOCOMMIT:
12704 case INNODB:
12705 case REDO_LOG:
12706 case DELIMITER:
12707 case FOR_GENERATOR:
12708 case ACCESSIBLE:
12709 case ACCOUNT:
12710 case ACTION:
12711 case ACTIVE:
12712 case ADD:
12713 case ADMIN:
12714 case AFTER:
12715 case AGAINST:
12716 case AGGREGATE:
12717 case ALGORITHM:
12718 case ALL:
12719 case ALTER:
12720 case ALWAYS:
12721 case ANALYZE:
12722 case AND:
12723 case ANY:
12724 case ARRAY:
12725 case AS:
12726 case ASC:
12727 case ASCII:
12728 case ASENSITIVE:
12729 case AT:
12730 case ATTRIBUTE:
12731 case AUTOEXTEND_SIZE:
12732 case AUTO_INCREMENT:
12733 case AVG:
12734 case ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS:
12735 case BIT_XOR:
12736 case AVG_ROW_LENGTH:
12737 case BACKUP:
12738 case BEFORE:
12739 case BEGIN:
12740 case BETWEEN:
12741 case BIGINT:
12742 case BINARY:
12743 case BINLOG:
12744 case BIT:
12745 case BLOB:
12746 case BLOCK:
12747 case BOOL:
12748 case BOOLEAN:
12749 case BOTH:
12750 case BTREE:
12751 case BUCKETS:
12752 case BY:
12753 case BYTE:
12754 case CACHE:
12755 case CALL:
12756 case CASCADE:
12757 case CASCADED:
12758 case CASE:
12759 case CATALOG_NAME:
12760 case CHAIN:
12761 case CHANGE:
12762 case CHANGED:
12763 case CHANNEL:
12764 case CHAR:
12765 case CHAR_VARYING:
12766 case CHARACTER:
12767 case CHARACTER_VARYING:
12768 case CHARSET:
12769 case CHECK:
12770 case CHECKSUM:
12771 case CIPHER:
12772 case CLASS_ORIGIN:
12773 case CLIENT:
12774 case CLONE:
12775 case CLOSE:
12776 case COALESCE:
12777 case CODE:
12778 case COLLATE:
12779 case COLLATION:
12780 case COLUMN:
12781 case COLUMNS:
12782 case COLUMN_FORMAT:
12783 case COLUMN_NAME:
12784 case COMMENT:
12785 case COMMIT:
12786 case COMMITTED:
12787 case COMPACT:
12788 case COMPLETION:
12789 case COMPONENT:
12790 case COMPRESSED:
12791 case COMPRESSION:
12792 case CONCURRENT:
12793 case CONDITION:
12794 case CONNECTION:
12795 case CONSISTENT:
12796 case CONSTRAINT:
12797 case CONSTRAINT_CATALOG:
12798 case CONSTRAINT_NAME:
12799 case CONSTRAINT_SCHEMA:
12800 case CONTAINS:
12801 case CONTEXT:
12802 case CONTINUE:
12803 case CONVERT:
12804 case CPU:
12805 case CREATE:
12806 case CROSS:
12807 case CUBE:
12808 case CUME_DIST:
12809 case CURRENT:
12810 case CURRENT_DATE:
12811 case CURRENT_TIME:
12812 case CURRENT_TIMESTAMP:
12813 case CURRENT_USER:
12814 case CURSOR:
12815 case CURSOR_NAME:
12816 case DATA:
12817 case DATABASE:
12818 case DATABASES:
12819 case DATAFILE:
12820 case DATE:
12821 case DATETIME:
12822 case DAY:
12823 case DAY_HOUR:
12824 case DAY_MICROSECOND:
12825 case DAY_MINUTE:
12826 case DAY_SECOND:
12827 case DEALLOCATE:
12828 case DEC:
12829 case DECIMAL:
12830 case DECLARE:
12831 case DEFAULT:
12832 case DEFAULT_AUTH:
12833 case DEFINER:
12834 case DEFINITION:
12835 case DELAYED:
12836 case DELAY_KEY_WRITE:
12837 case DELETE:
12838 case DENSE_RANK:
12839 case DESC:
12840 case DESCRIBE:
12841 case DESCRIPTION:
12842 case DETERMINISTIC:
12843 case DIAGNOSTICS:
12844 case DIRECTORY:
12845 case DISABLE:
12846 case DISCARD:
12847 case DISK:
12848 case DISTINCT:
12849 case DISTINCTROW:
12850 case DIV:
12851 case DO:
12852 case DOUBLE:
12853 case DROP:
12854 case DUAL:
12855 case DUMPFILE:
12856 case DUPLICATE:
12857 case DYNAMIC:
12858 case EACH:
12859 case ELSE:
12860 case ELSEIF:
12861 case EMPTY:
12862 case ENABLE:
12863 case ENCLOSED:
12864 case ENCRYPTION:
12865 case END:
12866 case ENDS:
12867 case ENFORCED:
12868 case ENGINE:
12869 case ENGINES:
12870 case ENGINE_ATTRIBUTE:
12871 case ENUM:
12872 case ERROR:
12873 case ERRORS:
12874 case ESCAPE:
12875 case ESCAPED:
12876 case EVENT:
12877 case EVENTS:
12878 case EVERY:
12879 case EXCEPT:
12880 case EXCHANGE:
12881 case EXCLUDE:
12882 case EXECUTE:
12883 case EXISTS:
12884 case EXIT:
12885 case EXPANSION:
12886 case EXPIRE:
12887 case EXPLAIN:
12888 case EXPORT:
12889 case EXTENDED:
12890 case EXTENT_SIZE:
12891 case FAILED_LOGIN_ATTEMPTS:
12892 case FALSE:
12893 case FAST:
12894 case FAULTS:
12895 case FETCH:
12896 case FILE:
12897 case FILE_BLOCK_SIZE:
12898 case FILTER:
12899 case FIRST:
12900 case FIRST_VALUE:
12901 case FIXED:
12902 case FLOAT:
12903 case FLOAT4:
12904 case FLOAT8:
12905 case FLUSH:
12906 case FOLLOWING:
12907 case FOLLOWS:
12908 case FOR:
12909 case FORCE:
12910 case FOREIGN:
12911 case FORMAT:
12912 case FOUND:
12913 case FROM:
12914 case FULL:
12915 case FULLTEXT:
12916 case FUNCTION:
12917 case GENERAL:
12918 case GENERATED:
12919 case GEOMETRY:
12920 case GEOMCOLLECTION:
12921 case GEOMETRYCOLLECTION:
12922 case GET:
12923 case GET_FORMAT:
12924 case GET_MASTER_PUBLIC_KEY:
12925 case GLOBAL:
12926 case GRANT:
12927 case GRANTS:
12928 case GROUP:
12929 case GROUPING:
12930 case GROUPS:
12931 case GROUP_REPLICATION:
12932 case GET_SOURCE_PUBLIC_KEY:
12933 case GTID_ONLY:
12934 case GENERATE:
12935 case HANDLER:
12936 case HASH:
12937 case HAVING:
12938 case HELP:
12939 case HIGH_PRIORITY:
12940 case HISTOGRAM:
12941 case HISTORY:
12942 case HOST:
12943 case HOSTS:
12944 case HOUR:
12945 case HOUR_MICROSECOND:
12946 case HOUR_MINUTE:
12947 case HOUR_SECOND:
12948 case IDENTIFIED:
12949 case IF:
12950 case IGNORE:
12951 case IGNORE_SERVER_IDS:
12952 case IMPORT:
12953 case IN:
12954 case INACTIVE:
12955 case INDEX:
12956 case INDEXES:
12957 case INFILE:
12958 case INITIAL_SIZE:
12959 case INNER:
12960 case INOUT:
12961 case INSENSITIVE:
12962 case INSERT:
12963 case INSERT_METHOD:
12964 case INSTALL:
12965 case INSTANCE:
12966 case INT:
12967 case INT1:
12968 case INT2:
12969 case INT3:
12970 case INT4:
12971 case INT8:
12972 case INTEGER:
12973 case INTERVAL:
12974 case INTO:
12975 case INVISIBLE:
12976 case INVOKER:
12977 case IO:
12978 case IO_AFTER_GTIDS:
12979 case IO_BEFORE_GTIDS:
12980 case IPC:
12981 case IS:
12982 case ISOLATION:
12983 case ISSUER:
12984 case ITERATE:
12985 case JOIN:
12986 case JSON:
12987 case JSON_TABLE:
12988 case JSON_VALUE:
12989 case KEY:
12990 case KEYS:
12991 case KEY_BLOCK_SIZE:
12992 case KILL:
12993 case LAG:
12994 case LANGUAGE:
12995 case LAST:
12996 case LAST_VALUE:
12997 case LATERAL:
12998 case LEAD:
12999 case LEADING:
13000 case LEAVE:
13001 case LEAVES:
13002 case LEFT:
13003 case LESS:
13004 case LEVEL:
13005 case LIKE:
13006 case LIMIT:
13007 case LINEAR:
13008 case LINES:
13009 case LINESTRING:
13010 case LIST:
13011 case LOAD:
13012 case LOCAL:
13013 case LOCALTIME:
13014 case LOCALTIMESTAMP:
13015 case LOCK:
13016 case LOCKED:
13017 case LOCKS:
13018 case LOGFILE:
13019 case LOGS:
13020 case LONG:
13021 case LONGBLOB:
13022 case LONGTEXT:
13023 case LONG_CHAR_VARYING:
13024 case LONG_VARCHAR:
13025 case LOOP:
13026 case LOW_PRIORITY:
13027 case MASTER:
13028 case MASTER_AUTO_POSITION:
13029 case MASTER_BIND:
13030 case MASTER_COMPRESSION_ALGORITHM:
13031 case MASTER_CONNECT_RETRY:
13032 case MASTER_DELAY:
13033 case MASTER_HEARTBEAT_PERIOD:
13034 case MASTER_HOST:
13035 case MASTER_LOG_FILE:
13036 case MASTER_LOG_POS:
13037 case MASTER_PASSWORD:
13038 case MASTER_PORT:
13039 case MASTER_PUBLIC_KEY_PATH:
13040 case MASTER_RETRY_COUNT:
13041 case MASTER_SERVER_ID:
13042 case MASTER_SSL:
13043 case MASTER_SSL_CA:
13044 case MASTER_SSL_CAPATH:
13045 case MASTER_SSL_CERT:
13046 case MASTER_SSL_CIPHER:
13047 case MASTER_SSL_CRL:
13048 case MASTER_SSL_CRLPATH:
13049 case MASTER_SSL_KEY:
13050 case MASTER_SSL_VERIFY_SERVER_CERT:
13051 case MASTER_TLS_CIPHERSUITES:
13052 case MASTER_TLS_VERSION:
13053 case MASTER_USER:
13054 case MASTER_ZSTD_COMPRESSION_LEVEL:
13055 case MATCH:
13056 case MAXVALUE:
13057 case MAX_CONNECTIONS_PER_HOUR:
13058 case MAX_QUERIES_PER_HOUR:
13059 case MAX_ROWS:
13060 case MAX_SIZE:
13061 case MAX_UPDATES_PER_HOUR:
13062 case MAX_USER_CONNECTIONS:
13063 case MEDIUM:
13064 case MEDIUMBLOB:
13065 case MEDIUMINT:
13066 case MEDIUMTEXT:
13067 case MEMBER:
13068 case MEMORY:
13069 case MERGE:
13070 case MESSAGE_TEXT:
13071 case MICROSECOND:
13072 case MIDDLEINT:
13073 case MIGRATE:
13074 case MINUTE:
13075 case MINUTE_MICROSECOND:
13076 case MINUTE_SECOND:
13077 case MIN_ROWS:
13078 case MOD:
13079 case MODE:
13080 case MODIFIES:
13081 case MODIFY:
13082 case MONTH:
13083 case MULTILINESTRING:
13084 case MULTIPOINT:
13085 case MULTIPOLYGON:
13086 case MUTEX:
13087 case MYSQL_ERRNO:
13088 case NAME:
13089 case NAMES:
13090 case NATIONAL:
13091 case NATIONAL_CHAR:
13092 case NATIONAL_CHAR_VARYING:
13093 case NATURAL:
13094 case NCHAR:
13095 case NDBCLUSTER:
13096 case NESTED:
13097 case NETWORK_NAMESPACE:
13098 case NEVER:
13099 case NEW:
13100 case NEXT:
13101 case NO:
13102 case NODEGROUP:
13103 case NONE:
13104 case SHARED:
13105 case EXCLUSIVE:
13106 case NOT:
13107 case NOWAIT:
13108 case NO_WAIT:
13109 case NO_WRITE_TO_BINLOG:
13110 case NTH_VALUE:
13111 case NTILE:
13112 case NULL:
13113 case NULLS:
13114 case NUMBER:
13115 case NUMERIC:
13116 case NVARCHAR:
13117 case OF:
13118 case OFF:
13119 case OFFSET:
13120 case OJ:
13121 case OLD:
13122 case ON:
13123 case ONE:
13124 case ONLY:
13125 case OPEN:
13126 case OPTIMIZE:
13127 case OPTIMIZER_COSTS:
13128 case OPTION:
13129 case OPTIONAL:
13130 case OPTIONALLY:
13131 case OPTIONS:
13132 case OR:
13133 case ORDER:
13134 case ORDINALITY:
13135 case ORGANIZATION:
13136 case OTHERS:
13137 case OUT:
13138 case OUTER:
13139 case OUTFILE:
13140 case OVER:
13141 case OWNER:
13142 case PACK_KEYS:
13143 case PAGE:
13144 case PARSER:
13145 case PARTIAL:
13146 case PARTITION:
13147 case PARTITIONING:
13148 case PARTITIONS:
13149 case PASSWORD:
13150 case PASSWORD_LOCK_TIME:
13151 case PATH:
13152 case PERCENT_RANK:
13153 case PERSIST:
13154 case PERSIST_ONLY:
13155 case PHASE:
13156 case PLUGIN:
13157 case PLUGINS:
13158 case PLUGIN_DIR:
13159 case POINT:
13160 case POLYGON:
13161 case PORT:
13162 case PRECEDES:
13163 case PRECEDING:
13164 case PRECISION:
13165 case PREPARE:
13166 case PRESERVE:
13167 case PREV:
13168 case PRIMARY:
13169 case PRIVILEGES:
13170 case PRIVILEGE_CHECKS_USER:
13171 case PROCEDURE:
13172 case PROCESS:
13173 case PROCESSLIST:
13174 case PROFILE:
13175 case PROFILES:
13176 case PROXY:
13177 case PURGE:
13178 case QUARTER:
13179 case QUERY:
13180 case QUICK:
13181 case RANDOM:
13182 case RANGE:
13183 case RANK:
13184 case READ:
13185 case READS:
13186 case READ_ONLY:
13187 case READ_WRITE:
13188 case REAL:
13189 case REBUILD:
13190 case RECOVER:
13191 case RECURSIVE:
13192 case REDO_BUFFER_SIZE:
13193 case REDUNDANT:
13194 case REFERENCE:
13195 case REFERENCES:
13196 case REGEXP:
13197 case RELAY:
13198 case RELAYLOG:
13199 case RELAY_LOG_FILE:
13200 case RELAY_LOG_POS:
13201 case RELAY_THREAD:
13202 case RELEASE:
13203 case RELOAD:
13204 case REMOVE:
13205 case RENAME:
13206 case REORGANIZE:
13207 case REPAIR:
13208 case REPEAT:
13209 case REPEATABLE:
13210 case REPLACE:
13211 case REPLICA:
13212 case REPLICAS:
13213 case REPLICATE_DO_DB:
13214 case REPLICATE_DO_TABLE:
13215 case REPLICATE_IGNORE_DB:
13216 case REPLICATE_IGNORE_TABLE:
13217 case REPLICATE_REWRITE_DB:
13218 case REPLICATE_WILD_DO_TABLE:
13219 case REPLICATE_WILD_IGNORE_TABLE:
13220 case REPLICATION:
13221 case REQUIRE:
13222 case REQUIRE_ROW_FORMAT:
13223 case REQUIRE_TABLE_PRIMARY_KEY_CHECK:
13224 case RESET:
13225 case RESIGNAL:
13226 case RESOURCE:
13227 case RESPECT:
13228 case RESTART:
13229 case RESTORE:
13230 case RESTRICT:
13231 case RESUME:
13232 case RETAIN:
13233 case RETURN:
13234 case RETURNED_SQLSTATE:
13235 case RETURNING:
13236 case RETURNS:
13237 case REUSE:
13238 case REVERSE:
13239 case REVOKE:
13240 case RIGHT:
13241 case RLIKE:
13242 case ROLE:
13243 case ROLLBACK:
13244 case ROLLUP:
13245 case ROTATE:
13246 case ROUTINE:
13247 case ROW:
13248 case ROWS:
13249 case ROW_COUNT:
13250 case ROW_FORMAT:
13251 case ROW_NUMBER:
13252 case RTREE:
13253 case SAVEPOINT:
13254 case SCHEDULE:
13255 case SCHEMA:
13256 case SCHEMAS:
13257 case SCHEMA_NAME:
13258 case SECOND:
13259 case SECONDARY:
13260 case SECONDARY_ENGINE:
13261 case SECONDARY_ENGINE_ATTRIBUTE:
13262 case SECONDARY_LOAD:
13263 case SECONDARY_UNLOAD:
13264 case SECOND_MICROSECOND:
13265 case SECURITY:
13266 case SELECT:
13267 case SENSITIVE:
13268 case SEPARATOR:
13269 case SERIAL:
13270 case SERIALIZABLE:
13271 case SERVER:
13272 case SESSION:
13273 case SET:
13274 case SHARE:
13275 case SHOW:
13276 case SHUTDOWN:
13277 case SIGNAL:
13278 case SIGNED:
13279 case SIGNED_INT:
13280 case SIGNED_INTEGER:
13281 case SIMPLE:
13282 case SKIP_SYMBOL:
13283 case SLAVE:
13284 case SLOW:
13285 case SMALLINT:
13286 case SNAPSHOT:
13287 case SOCKET:
13288 case SONAME:
13289 case SOUNDS:
13290 case SOURCE:
13291 case SPATIAL:
13292 case SPECIFIC:
13293 case SQL:
13294 case SQLEXCEPTION:
13295 case SQLSTATE:
13296 case SQLWARNING:
13297 case SQL_AFTER_GTIDS:
13298 case SQL_AFTER_MTS_GAPS:
13299 case SQL_BEFORE_GTIDS:
13300 case SQL_BIG_RESULT:
13301 case SQL_BUFFER_RESULT:
13302 case SQL_CALC_FOUND_ROWS:
13303 case SQL_NO_CACHE:
13304 case SQL_SMALL_RESULT:
13305 case SQL_THREAD:
13306 case SRID:
13307 case SSL:
13308 case STACKED:
13309 case START:
13310 case STARTING:
13311 case STARTS:
13312 case STATS_AUTO_RECALC:
13313 case STATS_PERSISTENT:
13314 case STATS_SAMPLE_PAGES:
13315 case STATUS:
13316 case STOP:
13317 case STORAGE:
13318 case STORED:
13319 case STRAIGHT_JOIN:
13320 case STREAM:
13321 case STRING:
13322 case SUBCLASS_ORIGIN:
13323 case SUBJECT:
13324 case SUBPARTITION:
13325 case SUBPARTITIONS:
13326 case SUPER:
13327 case SUSPEND:
13328 case SWAPS:
13329 case SWITCHES:
13330 case SYSTEM:
13331 case SOURCE_BIND:
13332 case SOURCE_HOST:
13333 case SOURCE_USER:
13334 case SOURCE_PASSWORD:
13335 case SOURCE_PORT:
13336 case SOURCE_LOG_FILE:
13337 case SOURCE_LOG_POS:
13338 case SOURCE_AUTO_POSITION:
13339 case SOURCE_HEARTBEAT_PERIOD:
13340 case SOURCE_CONNECT_RETRY:
13341 case SOURCE_RETRY_COUNT:
13342 case SOURCE_CONNECTION_AUTO_FAILOVER:
13343 case SOURCE_DELAY:
13344 case SOURCE_COMPRESSION_ALGORITHMS:
13345 case SOURCE_ZSTD_COMPRESSION_LEVEL:
13346 case SOURCE_SSL:
13347 case SOURCE_SSL_CA:
13348 case SOURCE_SSL_CAPATH:
13349 case SOURCE_SSL_CERT:
13350 case SOURCE_SSL_CRL:
13351 case SOURCE_SSL_CRLPATH:
13352 case SOURCE_SSL_KEY:
13353 case SOURCE_SSL_CIPHER:
13354 case SOURCE_SSL_VERIFY_SERVER_CERT:
13355 case SOURCE_TLS_VERSION:
13356 case SOURCE_TLS_CIPHERSUITES:
13357 case SOURCE_PUBLIC_KEY_PATH:
13358 case TABLE:
13359 case TABLES:
13360 case TABLESPACE:
13361 case TABLE_CHECKSUM:
13362 case TABLE_NAME:
13363 case TEMPORARY:
13364 case TEMPTABLE:
13365 case TERMINATED:
13366 case TEXT:
13367 case THAN:
13368 case THEN:
13369 case THREAD_PRIORITY:
13370 case TIES:
13371 case TIME:
13372 case TIMESTAMP:
13373 case TIMESTAMP_ADD:
13374 case TIMESTAMP_DIFF:
13375 case TINYBLOB:
13376 case TINYINT:
13377 case TINYTEXT:
13378 case TLS:
13379 case TO:
13380 case TRAILING:
13381 case TRANSACTION:
13382 case TRIGGER:
13383 case TRIGGERS:
13384 case TRUE:
13385 case TRUNCATE:
13386 case TYPE:
13387 case TYPES:
13388 case UNBOUNDED:
13389 case UNCOMMITTED:
13390 case UNDEFINED:
13391 case UNDO:
13392 case UNDOFILE:
13393 case UNDO_BUFFER_SIZE:
13394 case UNICODE:
13395 case UNINSTALL:
13396 case UNION:
13397 case UNIQUE:
13398 case UNKNOWN:
13399 case UNLOCK:
13400 case UNSIGNED:
13401 case UNSIGNED_INT:
13402 case UNSIGNED_INTEGER:
13403 case UNTIL:
13404 case UPDATE:
13405 case UPGRADE:
13406 case USAGE:
13407 case USE:
13408 case USER:
13409 case USER_RESOURCES:
13410 case USE_FRM:
13411 case USING:
13412 case UTC_DATE:
13413 case UTC_TIME:
13414 case UTC_TIMESTAMP:
13415 case VALIDATION:
13416 case VALUE:
13417 case VALUES:
13418 case VARBINARY:
13419 case VARCHAR:
13420 case VARCHARACTER:
13421 case VARIABLES:
13422 case VARYING:
13423 case VCPU:
13424 case VIEW:
13425 case VIRTUAL:
13426 case VISIBLE:
13427 case WAIT:
13428 case WARNINGS:
13429 case WEEK:
13430 case WEIGHT_STRING:
13431 case WHEN:
13432 case WHERE:
13433 case WHILE:
13434 case WINDOW:
13435 case WITH:
13436 case WITHOUT:
13437 case WORK:
13438 case WRAPPER:
13439 case WRITE:
13440 case X509:
13441 case XA:
13442 case XID:
13443 case XML:
13444 case XOR:
13445 case YEAR:
13446 case YEAR_MONTH:
13447 case ZEROFILL:
13448 case JSON_ARRAY:
13449 case JSON_ARRAY_APPEND:
13450 case JSON_ARRAY_INSERT:
13451 case JSON_CONTAINS:
13452 case JSON_CONTAINS_PATH:
13453 case JSON_DEPTH:
13454 case JSON_EXTRACT:
13455 case JSON_INSERT:
13456 case JSON_KEYS:
13457 case JSON_LENGTH:
13458 case JSON_MERGE:
13459 case JSON_MERGE_PATCH:
13460 case JSON_MERGE_PRESERVE:
13461 case JSON_OBJECT:
13462 case JSON_OVERLAPS:
13463 case JSON_PRETTY:
13464 case JSON_QUOTE:
13465 case JSON_REMOVE:
13466 case JSON_REPLACE:
13467 case JSON_SCHEMA_VALID:
13468 case JSON_SCHEMA_VALIDATION_REPORT:
13469 case JSON_SEARCH:
13470 case JSON_SET:
13471 case JSON_STORAGE_FREE:
13472 case JSON_STORAGE_SIZE:
13473 case JSON_TYPE:
13474 case JSON_UNQUOTE:
13475 case JSON_VALID:
13476 case ZONE:
13477 case FILESIZE_LITERAL:
13478 case SINGLE_QUOTED_TEXT:
13479 case DOUBLE_QUOTED_TEXT:
13480 case BQUOTA_STRING:
13481 case NCHAR_TEXT:
13482 case UNDERSCORE_CHARSET:
13483 case NUMBER_:
13484 case INT_NUM_:
13485 case FLOAT_NUM_:
13486 case DECIMAL_NUM_:
13487 case HEX_DIGIT_:
13488 case BIT_NUM_:
13489 case IDENTIFIER_:
13490 case IP_ADDRESS:
13491 case NOT_SUPPORT_:
13492 {
13493 setState(1448);
13494 _la = _input.LA(1);
13495 if ( _la <= 0 || ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BACKSLASH_) | (1L << DQ_) | (1L << SQ_) | (1L << BQ_))) != 0)) ) {
13496 _errHandler.recoverInline(this);
13497 }
13498 else {
13499 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
13500 _errHandler.reportMatch(this);
13501 consume();
13502 }
13503 }
13504 break;
13505 default:
13506 throw new NoViableAltException(this);
13507 }
13508 }
13509 setState(1451);
13510 _errHandler.sync(this);
13511 _la = _input.LA(1);
13512 } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BLOCK_COMMENT) | (1L << INLINE_COMMENT) | (1L << AND_) | (1L << OR_) | (1L << NOT_) | (1L << TILDE_) | (1L << VERTICAL_BAR_) | (1L << AMPERSAND_) | (1L << SIGNED_LEFT_SHIFT_) | (1L << SIGNED_RIGHT_SHIFT_) | (1L << CARET_) | (1L << MOD_) | (1L << COLON_) | (1L << PLUS_) | (1L << MINUS_) | (1L << ASTERISK_) | (1L << SLASH_) | (1L << BACKSLASH_) | (1L << DOT_) | (1L << DOT_ASTERISK_) | (1L << SAFE_EQ_) | (1L << DEQ_) | (1L << EQ_) | (1L << NEQ_) | (1L << GT_) | (1L << GTE_) | (1L << LT_) | (1L << LTE_) | (1L << POUND_) | (1L << LP_) | (1L << RP_) | (1L << LBE_) | (1L << RBE_) | (1L << LBT_) | (1L << RBT_) | (1L << COMMA_) | (1L << QUESTION_) | (1L << AT_) | (1L << SEMI_) | (1L << ASSIGNMENT_) | (1L << JSON_SEPARATOR) | (1L << JSON_UNQUOTED_SEPARATOR) | (1L << WS) | (1L << MAX) | (1L << MIN) | (1L << SUM) | (1L << COUNT) | (1L << GROUP_CONCAT) | (1L << CAST) | (1L << POSITION) | (1L << SUBSTRING) | (1L << SUBSTR) | (1L << EXTRACT) | (1L << TRIM) | (1L << LAST_DAY) | (1L << TRADITIONAL) | (1L << TREE) | (1L << MYSQL_MAIN) | (1L << MYSQL_ADMIN) | (1L << INSTANT))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (INPLACE - 64)) | (1L << (COPY - 64)) | (1L << (UL_BINARY - 64)) | (1L << (AUTOCOMMIT - 64)) | (1L << (INNODB - 64)) | (1L << (REDO_LOG - 64)) | (1L << (DELIMITER - 64)) | (1L << (FOR_GENERATOR - 64)) | (1L << (ACCESSIBLE - 64)) | (1L << (ACCOUNT - 64)) | (1L << (ACTION - 64)) | (1L << (ACTIVE - 64)) | (1L << (ADD - 64)) | (1L << (ADMIN - 64)) | (1L << (AFTER - 64)) | (1L << (AGAINST - 64)) | (1L << (AGGREGATE - 64)) | (1L << (ALGORITHM - 64)) | (1L << (ALL - 64)) | (1L << (ALTER - 64)) | (1L << (ALWAYS - 64)) | (1L << (ANALYZE - 64)) | (1L << (AND - 64)) | (1L << (ANY - 64)) | (1L << (ARRAY - 64)) | (1L << (AS - 64)) | (1L << (ASC - 64)) | (1L << (ASCII - 64)) | (1L << (ASENSITIVE - 64)) | (1L << (AT - 64)) | (1L << (ATTRIBUTE - 64)) | (1L << (AUTOEXTEND_SIZE - 64)) | (1L << (AUTO_INCREMENT - 64)) | (1L << (AVG - 64)) | (1L << (ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS - 64)) | (1L << (BIT_XOR - 64)) | (1L << (AVG_ROW_LENGTH - 64)) | (1L << (BACKUP - 64)) | (1L << (BEFORE - 64)) | (1L << (BEGIN - 64)) | (1L << (BETWEEN - 64)) | (1L << (BIGINT - 64)) | (1L << (BINARY - 64)) | (1L << (BINLOG - 64)) | (1L << (BIT - 64)) | (1L << (BLOB - 64)) | (1L << (BLOCK - 64)) | (1L << (BOOL - 64)) | (1L << (BOOLEAN - 64)) | (1L << (BOTH - 64)) | (1L << (BTREE - 64)) | (1L << (BUCKETS - 64)) | (1L << (BY - 64)) | (1L << (BYTE - 64)) | (1L << (CACHE - 64)) | (1L << (CALL - 64)) | (1L << (CASCADE - 64)) | (1L << (CASCADED - 64)) | (1L << (CASE - 64)) | (1L << (CATALOG_NAME - 64)) | (1L << (CHAIN - 64)) | (1L << (CHANGE - 64)) | (1L << (CHANGED - 64)) | (1L << (CHANNEL - 64)))) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & ((1L << (CHAR - 128)) | (1L << (CHAR_VARYING - 128)) | (1L << (CHARACTER - 128)) | (1L << (CHARACTER_VARYING - 128)) | (1L << (CHARSET - 128)) | (1L << (CHECK - 128)) | (1L << (CHECKSUM - 128)) | (1L << (CIPHER - 128)) | (1L << (CLASS_ORIGIN - 128)) | (1L << (CLIENT - 128)) | (1L << (CLONE - 128)) | (1L << (CLOSE - 128)) | (1L << (COALESCE - 128)) | (1L << (CODE - 128)) | (1L << (COLLATE - 128)) | (1L << (COLLATION - 128)) | (1L << (COLUMN - 128)) | (1L << (COLUMNS - 128)) | (1L << (COLUMN_FORMAT - 128)) | (1L << (COLUMN_NAME - 128)) | (1L << (COMMENT - 128)) | (1L << (COMMIT - 128)) | (1L << (COMMITTED - 128)) | (1L << (COMPACT - 128)) | (1L << (COMPLETION - 128)) | (1L << (COMPONENT - 128)) | (1L << (COMPRESSED - 128)) | (1L << (COMPRESSION - 128)) | (1L << (CONCURRENT - 128)) | (1L << (CONDITION - 128)) | (1L << (CONNECTION - 128)) | (1L << (CONSISTENT - 128)) | (1L << (CONSTRAINT - 128)) | (1L << (CONSTRAINT_CATALOG - 128)) | (1L << (CONSTRAINT_NAME - 128)) | (1L << (CONSTRAINT_SCHEMA - 128)) | (1L << (CONTAINS - 128)) | (1L << (CONTEXT - 128)) | (1L << (CONTINUE - 128)) | (1L << (CONVERT - 128)) | (1L << (CPU - 128)) | (1L << (CREATE - 128)) | (1L << (CROSS - 128)) | (1L << (CUBE - 128)) | (1L << (CUME_DIST - 128)) | (1L << (CURRENT - 128)) | (1L << (CURRENT_DATE - 128)) | (1L << (CURRENT_TIME - 128)) | (1L << (CURRENT_TIMESTAMP - 128)) | (1L << (CURRENT_USER - 128)) | (1L << (CURSOR - 128)) | (1L << (CURSOR_NAME - 128)) | (1L << (DATA - 128)) | (1L << (DATABASE - 128)) | (1L << (DATABASES - 128)) | (1L << (DATAFILE - 128)) | (1L << (DATE - 128)) | (1L << (DATETIME - 128)) | (1L << (DAY - 128)) | (1L << (DAY_HOUR - 128)) | (1L << (DAY_MICROSECOND - 128)) | (1L << (DAY_MINUTE - 128)) | (1L << (DAY_SECOND - 128)) | (1L << (DEALLOCATE - 128)))) != 0) || ((((_la - 192)) & ~0x3f) == 0 && ((1L << (_la - 192)) & ((1L << (DEC - 192)) | (1L << (DECIMAL - 192)) | (1L << (DECLARE - 192)) | (1L << (DEFAULT - 192)) | (1L << (DEFAULT_AUTH - 192)) | (1L << (DEFINER - 192)) | (1L << (DEFINITION - 192)) | (1L << (DELAYED - 192)) | (1L << (DELAY_KEY_WRITE - 192)) | (1L << (DELETE - 192)) | (1L << (DENSE_RANK - 192)) | (1L << (DESC - 192)) | (1L << (DESCRIBE - 192)) | (1L << (DESCRIPTION - 192)) | (1L << (DETERMINISTIC - 192)) | (1L << (DIAGNOSTICS - 192)) | (1L << (DIRECTORY - 192)) | (1L << (DISABLE - 192)) | (1L << (DISCARD - 192)) | (1L << (DISK - 192)) | (1L << (DISTINCT - 192)) | (1L << (DISTINCTROW - 192)) | (1L << (DIV - 192)) | (1L << (DO - 192)) | (1L << (DOUBLE - 192)) | (1L << (DROP - 192)) | (1L << (DUAL - 192)) | (1L << (DUMPFILE - 192)) | (1L << (DUPLICATE - 192)) | (1L << (DYNAMIC - 192)) | (1L << (EACH - 192)) | (1L << (ELSE - 192)) | (1L << (ELSEIF - 192)) | (1L << (EMPTY - 192)) | (1L << (ENABLE - 192)) | (1L << (ENCLOSED - 192)) | (1L << (ENCRYPTION - 192)) | (1L << (END - 192)) | (1L << (ENDS - 192)) | (1L << (ENFORCED - 192)) | (1L << (ENGINE - 192)) | (1L << (ENGINES - 192)) | (1L << (ENGINE_ATTRIBUTE - 192)) | (1L << (ENUM - 192)) | (1L << (ERROR - 192)) | (1L << (ERRORS - 192)) | (1L << (ESCAPE - 192)) | (1L << (ESCAPED - 192)) | (1L << (EVENT - 192)) | (1L << (EVENTS - 192)) | (1L << (EVERY - 192)) | (1L << (EXCEPT - 192)) | (1L << (EXCHANGE - 192)) | (1L << (EXCLUDE - 192)) | (1L << (EXECUTE - 192)) | (1L << (EXISTS - 192)) | (1L << (EXIT - 192)) | (1L << (EXPANSION - 192)) | (1L << (EXPIRE - 192)) | (1L << (EXPLAIN - 192)) | (1L << (EXPORT - 192)) | (1L << (EXTENDED - 192)) | (1L << (EXTENT_SIZE - 192)) | (1L << (FAILED_LOGIN_ATTEMPTS - 192)))) != 0) || ((((_la - 256)) & ~0x3f) == 0 && ((1L << (_la - 256)) & ((1L << (FALSE - 256)) | (1L << (FAST - 256)) | (1L << (FAULTS - 256)) | (1L << (FETCH - 256)) | (1L << (FILE - 256)) | (1L << (FILE_BLOCK_SIZE - 256)) | (1L << (FILTER - 256)) | (1L << (FIRST - 256)) | (1L << (FIRST_VALUE - 256)) | (1L << (FIXED - 256)) | (1L << (FLOAT - 256)) | (1L << (FLOAT4 - 256)) | (1L << (FLOAT8 - 256)) | (1L << (FLUSH - 256)) | (1L << (FOLLOWING - 256)) | (1L << (FOLLOWS - 256)) | (1L << (FOR - 256)) | (1L << (FORCE - 256)) | (1L << (FOREIGN - 256)) | (1L << (FORMAT - 256)) | (1L << (FOUND - 256)) | (1L << (FROM - 256)) | (1L << (FULL - 256)) | (1L << (FULLTEXT - 256)) | (1L << (FUNCTION - 256)) | (1L << (GENERAL - 256)) | (1L << (GENERATED - 256)) | (1L << (GEOMETRY - 256)) | (1L << (GEOMCOLLECTION - 256)) | (1L << (GEOMETRYCOLLECTION - 256)) | (1L << (GET - 256)) | (1L << (GET_FORMAT - 256)) | (1L << (GET_MASTER_PUBLIC_KEY - 256)) | (1L << (GLOBAL - 256)) | (1L << (GRANT - 256)) | (1L << (GRANTS - 256)) | (1L << (GROUP - 256)) | (1L << (GROUPING - 256)) | (1L << (GROUPS - 256)) | (1L << (GROUP_REPLICATION - 256)) | (1L << (GET_SOURCE_PUBLIC_KEY - 256)) | (1L << (GTID_ONLY - 256)) | (1L << (GENERATE - 256)) | (1L << (HANDLER - 256)) | (1L << (HASH - 256)) | (1L << (HAVING - 256)) | (1L << (HELP - 256)) | (1L << (HIGH_PRIORITY - 256)) | (1L << (HISTOGRAM - 256)) | (1L << (HISTORY - 256)) | (1L << (HOST - 256)) | (1L << (HOSTS - 256)) | (1L << (HOUR - 256)) | (1L << (HOUR_MICROSECOND - 256)) | (1L << (HOUR_MINUTE - 256)) | (1L << (HOUR_SECOND - 256)) | (1L << (IDENTIFIED - 256)) | (1L << (IF - 256)) | (1L << (IGNORE - 256)) | (1L << (IGNORE_SERVER_IDS - 256)) | (1L << (IMPORT - 256)) | (1L << (IN - 256)) | (1L << (INACTIVE - 256)) | (1L << (INDEX - 256)))) != 0) || ((((_la - 320)) & ~0x3f) == 0 && ((1L << (_la - 320)) & ((1L << (INDEXES - 320)) | (1L << (INFILE - 320)) | (1L << (INITIAL_SIZE - 320)) | (1L << (INNER - 320)) | (1L << (INOUT - 320)) | (1L << (INSENSITIVE - 320)) | (1L << (INSERT - 320)) | (1L << (INSERT_METHOD - 320)) | (1L << (INSTALL - 320)) | (1L << (INSTANCE - 320)) | (1L << (INT - 320)) | (1L << (INT1 - 320)) | (1L << (INT2 - 320)) | (1L << (INT3 - 320)) | (1L << (INT4 - 320)) | (1L << (INT8 - 320)) | (1L << (INTEGER - 320)) | (1L << (INTERVAL - 320)) | (1L << (INTO - 320)) | (1L << (INVISIBLE - 320)) | (1L << (INVOKER - 320)) | (1L << (IO - 320)) | (1L << (IO_AFTER_GTIDS - 320)) | (1L << (IO_BEFORE_GTIDS - 320)) | (1L << (IPC - 320)) | (1L << (IS - 320)) | (1L << (ISOLATION - 320)) | (1L << (ISSUER - 320)) | (1L << (ITERATE - 320)) | (1L << (JOIN - 320)) | (1L << (JSON - 320)) | (1L << (JSON_TABLE - 320)) | (1L << (JSON_VALUE - 320)) | (1L << (KEY - 320)) | (1L << (KEYS - 320)) | (1L << (KEY_BLOCK_SIZE - 320)) | (1L << (KILL - 320)) | (1L << (LAG - 320)) | (1L << (LANGUAGE - 320)) | (1L << (LAST - 320)) | (1L << (LAST_VALUE - 320)) | (1L << (LATERAL - 320)) | (1L << (LEAD - 320)) | (1L << (LEADING - 320)) | (1L << (LEAVE - 320)) | (1L << (LEAVES - 320)) | (1L << (LEFT - 320)) | (1L << (LESS - 320)) | (1L << (LEVEL - 320)) | (1L << (LIKE - 320)) | (1L << (LIMIT - 320)) | (1L << (LINEAR - 320)) | (1L << (LINES - 320)) | (1L << (LINESTRING - 320)) | (1L << (LIST - 320)) | (1L << (LOAD - 320)) | (1L << (LOCAL - 320)) | (1L << (LOCALTIME - 320)) | (1L << (LOCALTIMESTAMP - 320)) | (1L << (LOCK - 320)) | (1L << (LOCKED - 320)) | (1L << (LOCKS - 320)) | (1L << (LOGFILE - 320)) | (1L << (LOGS - 320)))) != 0) || ((((_la - 384)) & ~0x3f) == 0 && ((1L << (_la - 384)) & ((1L << (LONG - 384)) | (1L << (LONGBLOB - 384)) | (1L << (LONGTEXT - 384)) | (1L << (LONG_CHAR_VARYING - 384)) | (1L << (LONG_VARCHAR - 384)) | (1L << (LOOP - 384)) | (1L << (LOW_PRIORITY - 384)) | (1L << (MASTER - 384)) | (1L << (MASTER_AUTO_POSITION - 384)) | (1L << (MASTER_BIND - 384)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 384)) | (1L << (MASTER_CONNECT_RETRY - 384)) | (1L << (MASTER_DELAY - 384)) | (1L << (MASTER_HEARTBEAT_PERIOD - 384)) | (1L << (MASTER_HOST - 384)) | (1L << (MASTER_LOG_FILE - 384)) | (1L << (MASTER_LOG_POS - 384)) | (1L << (MASTER_PASSWORD - 384)) | (1L << (MASTER_PORT - 384)) | (1L << (MASTER_PUBLIC_KEY_PATH - 384)) | (1L << (MASTER_RETRY_COUNT - 384)) | (1L << (MASTER_SERVER_ID - 384)) | (1L << (MASTER_SSL - 384)) | (1L << (MASTER_SSL_CA - 384)) | (1L << (MASTER_SSL_CAPATH - 384)) | (1L << (MASTER_SSL_CERT - 384)) | (1L << (MASTER_SSL_CIPHER - 384)) | (1L << (MASTER_SSL_CRL - 384)) | (1L << (MASTER_SSL_CRLPATH - 384)) | (1L << (MASTER_SSL_KEY - 384)) | (1L << (MASTER_SSL_VERIFY_SERVER_CERT - 384)) | (1L << (MASTER_TLS_CIPHERSUITES - 384)) | (1L << (MASTER_TLS_VERSION - 384)) | (1L << (MASTER_USER - 384)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 384)) | (1L << (MATCH - 384)) | (1L << (MAXVALUE - 384)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 384)) | (1L << (MAX_QUERIES_PER_HOUR - 384)) | (1L << (MAX_ROWS - 384)) | (1L << (MAX_SIZE - 384)) | (1L << (MAX_UPDATES_PER_HOUR - 384)) | (1L << (MAX_USER_CONNECTIONS - 384)) | (1L << (MEDIUM - 384)) | (1L << (MEDIUMBLOB - 384)) | (1L << (MEDIUMINT - 384)) | (1L << (MEDIUMTEXT - 384)) | (1L << (MEMBER - 384)) | (1L << (MEMORY - 384)) | (1L << (MERGE - 384)) | (1L << (MESSAGE_TEXT - 384)) | (1L << (MICROSECOND - 384)) | (1L << (MIDDLEINT - 384)) | (1L << (MIGRATE - 384)) | (1L << (MINUTE - 384)) | (1L << (MINUTE_MICROSECOND - 384)) | (1L << (MINUTE_SECOND - 384)) | (1L << (MIN_ROWS - 384)) | (1L << (MOD - 384)) | (1L << (MODE - 384)) | (1L << (MODIFIES - 384)) | (1L << (MODIFY - 384)) | (1L << (MONTH - 384)) | (1L << (MULTILINESTRING - 384)))) != 0) || ((((_la - 448)) & ~0x3f) == 0 && ((1L << (_la - 448)) & ((1L << (MULTIPOINT - 448)) | (1L << (MULTIPOLYGON - 448)) | (1L << (MUTEX - 448)) | (1L << (MYSQL_ERRNO - 448)) | (1L << (NAME - 448)) | (1L << (NAMES - 448)) | (1L << (NATIONAL - 448)) | (1L << (NATIONAL_CHAR - 448)) | (1L << (NATIONAL_CHAR_VARYING - 448)) | (1L << (NATURAL - 448)) | (1L << (NCHAR - 448)) | (1L << (NDBCLUSTER - 448)) | (1L << (NESTED - 448)) | (1L << (NETWORK_NAMESPACE - 448)) | (1L << (NEVER - 448)) | (1L << (NEW - 448)) | (1L << (NEXT - 448)) | (1L << (NO - 448)) | (1L << (NODEGROUP - 448)) | (1L << (NONE - 448)) | (1L << (SHARED - 448)) | (1L << (EXCLUSIVE - 448)) | (1L << (NOT - 448)) | (1L << (NOWAIT - 448)) | (1L << (NO_WAIT - 448)) | (1L << (NO_WRITE_TO_BINLOG - 448)) | (1L << (NTH_VALUE - 448)) | (1L << (NTILE - 448)) | (1L << (NULL - 448)) | (1L << (NULLS - 448)) | (1L << (NUMBER - 448)) | (1L << (NUMERIC - 448)) | (1L << (NVARCHAR - 448)) | (1L << (OF - 448)) | (1L << (OFF - 448)) | (1L << (OFFSET - 448)) | (1L << (OJ - 448)) | (1L << (OLD - 448)) | (1L << (ON - 448)) | (1L << (ONE - 448)) | (1L << (ONLY - 448)) | (1L << (OPEN - 448)) | (1L << (OPTIMIZE - 448)) | (1L << (OPTIMIZER_COSTS - 448)) | (1L << (OPTION - 448)) | (1L << (OPTIONAL - 448)) | (1L << (OPTIONALLY - 448)) | (1L << (OPTIONS - 448)) | (1L << (OR - 448)) | (1L << (ORDER - 448)) | (1L << (ORDINALITY - 448)) | (1L << (ORGANIZATION - 448)) | (1L << (OTHERS - 448)) | (1L << (OUT - 448)) | (1L << (OUTER - 448)) | (1L << (OUTFILE - 448)) | (1L << (OVER - 448)) | (1L << (OWNER - 448)) | (1L << (PACK_KEYS - 448)) | (1L << (PAGE - 448)) | (1L << (PARSER - 448)) | (1L << (PARTIAL - 448)) | (1L << (PARTITION - 448)) | (1L << (PARTITIONING - 448)))) != 0) || ((((_la - 512)) & ~0x3f) == 0 && ((1L << (_la - 512)) & ((1L << (PARTITIONS - 512)) | (1L << (PASSWORD - 512)) | (1L << (PASSWORD_LOCK_TIME - 512)) | (1L << (PATH - 512)) | (1L << (PERCENT_RANK - 512)) | (1L << (PERSIST - 512)) | (1L << (PERSIST_ONLY - 512)) | (1L << (PHASE - 512)) | (1L << (PLUGIN - 512)) | (1L << (PLUGINS - 512)) | (1L << (PLUGIN_DIR - 512)) | (1L << (POINT - 512)) | (1L << (POLYGON - 512)) | (1L << (PORT - 512)) | (1L << (PRECEDES - 512)) | (1L << (PRECEDING - 512)) | (1L << (PRECISION - 512)) | (1L << (PREPARE - 512)) | (1L << (PRESERVE - 512)) | (1L << (PREV - 512)) | (1L << (PRIMARY - 512)) | (1L << (PRIVILEGES - 512)) | (1L << (PRIVILEGE_CHECKS_USER - 512)) | (1L << (PROCEDURE - 512)) | (1L << (PROCESS - 512)) | (1L << (PROCESSLIST - 512)) | (1L << (PROFILE - 512)) | (1L << (PROFILES - 512)) | (1L << (PROXY - 512)) | (1L << (PURGE - 512)) | (1L << (QUARTER - 512)) | (1L << (QUERY - 512)) | (1L << (QUICK - 512)) | (1L << (RANDOM - 512)) | (1L << (RANGE - 512)) | (1L << (RANK - 512)) | (1L << (READ - 512)) | (1L << (READS - 512)) | (1L << (READ_ONLY - 512)) | (1L << (READ_WRITE - 512)) | (1L << (REAL - 512)) | (1L << (REBUILD - 512)) | (1L << (RECOVER - 512)) | (1L << (RECURSIVE - 512)) | (1L << (REDO_BUFFER_SIZE - 512)) | (1L << (REDUNDANT - 512)) | (1L << (REFERENCE - 512)) | (1L << (REFERENCES - 512)) | (1L << (REGEXP - 512)) | (1L << (RELAY - 512)) | (1L << (RELAYLOG - 512)) | (1L << (RELAY_LOG_FILE - 512)) | (1L << (RELAY_LOG_POS - 512)) | (1L << (RELAY_THREAD - 512)) | (1L << (RELEASE - 512)) | (1L << (RELOAD - 512)) | (1L << (REMOVE - 512)) | (1L << (RENAME - 512)) | (1L << (REORGANIZE - 512)) | (1L << (REPAIR - 512)) | (1L << (REPEAT - 512)) | (1L << (REPEATABLE - 512)) | (1L << (REPLACE - 512)) | (1L << (REPLICA - 512)))) != 0) || ((((_la - 576)) & ~0x3f) == 0 && ((1L << (_la - 576)) & ((1L << (REPLICAS - 576)) | (1L << (REPLICATE_DO_DB - 576)) | (1L << (REPLICATE_DO_TABLE - 576)) | (1L << (REPLICATE_IGNORE_DB - 576)) | (1L << (REPLICATE_IGNORE_TABLE - 576)) | (1L << (REPLICATE_REWRITE_DB - 576)) | (1L << (REPLICATE_WILD_DO_TABLE - 576)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 576)) | (1L << (REPLICATION - 576)) | (1L << (REQUIRE - 576)) | (1L << (REQUIRE_ROW_FORMAT - 576)) | (1L << (REQUIRE_TABLE_PRIMARY_KEY_CHECK - 576)) | (1L << (RESET - 576)) | (1L << (RESIGNAL - 576)) | (1L << (RESOURCE - 576)) | (1L << (RESPECT - 576)) | (1L << (RESTART - 576)) | (1L << (RESTORE - 576)) | (1L << (RESTRICT - 576)) | (1L << (RESUME - 576)) | (1L << (RETAIN - 576)) | (1L << (RETURN - 576)) | (1L << (RETURNED_SQLSTATE - 576)) | (1L << (RETURNING - 576)) | (1L << (RETURNS - 576)) | (1L << (REUSE - 576)) | (1L << (REVERSE - 576)) | (1L << (REVOKE - 576)) | (1L << (RIGHT - 576)) | (1L << (RLIKE - 576)) | (1L << (ROLE - 576)) | (1L << (ROLLBACK - 576)) | (1L << (ROLLUP - 576)) | (1L << (ROTATE - 576)) | (1L << (ROUTINE - 576)) | (1L << (ROW - 576)) | (1L << (ROWS - 576)) | (1L << (ROW_COUNT - 576)) | (1L << (ROW_FORMAT - 576)) | (1L << (ROW_NUMBER - 576)) | (1L << (RTREE - 576)) | (1L << (SAVEPOINT - 576)) | (1L << (SCHEDULE - 576)) | (1L << (SCHEMA - 576)) | (1L << (SCHEMAS - 576)) | (1L << (SCHEMA_NAME - 576)) | (1L << (SECOND - 576)) | (1L << (SECONDARY - 576)) | (1L << (SECONDARY_ENGINE - 576)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 576)) | (1L << (SECONDARY_LOAD - 576)) | (1L << (SECONDARY_UNLOAD - 576)) | (1L << (SECOND_MICROSECOND - 576)) | (1L << (SECURITY - 576)) | (1L << (SELECT - 576)) | (1L << (SENSITIVE - 576)) | (1L << (SEPARATOR - 576)) | (1L << (SERIAL - 576)) | (1L << (SERIALIZABLE - 576)) | (1L << (SERVER - 576)) | (1L << (SESSION - 576)) | (1L << (SET - 576)) | (1L << (SHARE - 576)) | (1L << (SHOW - 576)))) != 0) || ((((_la - 640)) & ~0x3f) == 0 && ((1L << (_la - 640)) & ((1L << (SHUTDOWN - 640)) | (1L << (SIGNAL - 640)) | (1L << (SIGNED - 640)) | (1L << (SIGNED_INT - 640)) | (1L << (SIGNED_INTEGER - 640)) | (1L << (SIMPLE - 640)) | (1L << (SKIP_SYMBOL - 640)) | (1L << (SLAVE - 640)) | (1L << (SLOW - 640)) | (1L << (SMALLINT - 640)) | (1L << (SNAPSHOT - 640)) | (1L << (SOCKET - 640)) | (1L << (SONAME - 640)) | (1L << (SOUNDS - 640)) | (1L << (SOURCE - 640)) | (1L << (SPATIAL - 640)) | (1L << (SPECIFIC - 640)) | (1L << (SQL - 640)) | (1L << (SQLEXCEPTION - 640)) | (1L << (SQLSTATE - 640)) | (1L << (SQLWARNING - 640)) | (1L << (SQL_AFTER_GTIDS - 640)) | (1L << (SQL_AFTER_MTS_GAPS - 640)) | (1L << (SQL_BEFORE_GTIDS - 640)) | (1L << (SQL_BIG_RESULT - 640)) | (1L << (SQL_BUFFER_RESULT - 640)) | (1L << (SQL_CALC_FOUND_ROWS - 640)) | (1L << (SQL_NO_CACHE - 640)) | (1L << (SQL_SMALL_RESULT - 640)) | (1L << (SQL_THREAD - 640)) | (1L << (SRID - 640)) | (1L << (SSL - 640)) | (1L << (STACKED - 640)) | (1L << (START - 640)) | (1L << (STARTING - 640)) | (1L << (STARTS - 640)) | (1L << (STATS_AUTO_RECALC - 640)) | (1L << (STATS_PERSISTENT - 640)) | (1L << (STATS_SAMPLE_PAGES - 640)) | (1L << (STATUS - 640)) | (1L << (STOP - 640)) | (1L << (STORAGE - 640)) | (1L << (STORED - 640)) | (1L << (STRAIGHT_JOIN - 640)) | (1L << (STREAM - 640)) | (1L << (STRING - 640)) | (1L << (SUBCLASS_ORIGIN - 640)) | (1L << (SUBJECT - 640)) | (1L << (SUBPARTITION - 640)) | (1L << (SUBPARTITIONS - 640)) | (1L << (SUPER - 640)) | (1L << (SUSPEND - 640)) | (1L << (SWAPS - 640)) | (1L << (SWITCHES - 640)) | (1L << (SYSTEM - 640)) | (1L << (SOURCE_BIND - 640)) | (1L << (SOURCE_HOST - 640)) | (1L << (SOURCE_USER - 640)) | (1L << (SOURCE_PASSWORD - 640)) | (1L << (SOURCE_PORT - 640)) | (1L << (SOURCE_LOG_FILE - 640)) | (1L << (SOURCE_LOG_POS - 640)) | (1L << (SOURCE_AUTO_POSITION - 640)) | (1L << (SOURCE_HEARTBEAT_PERIOD - 640)))) != 0) || ((((_la - 704)) & ~0x3f) == 0 && ((1L << (_la - 704)) & ((1L << (SOURCE_CONNECT_RETRY - 704)) | (1L << (SOURCE_RETRY_COUNT - 704)) | (1L << (SOURCE_CONNECTION_AUTO_FAILOVER - 704)) | (1L << (SOURCE_DELAY - 704)) | (1L << (SOURCE_COMPRESSION_ALGORITHMS - 704)) | (1L << (SOURCE_ZSTD_COMPRESSION_LEVEL - 704)) | (1L << (SOURCE_SSL - 704)) | (1L << (SOURCE_SSL_CA - 704)) | (1L << (SOURCE_SSL_CAPATH - 704)) | (1L << (SOURCE_SSL_CERT - 704)) | (1L << (SOURCE_SSL_CRL - 704)) | (1L << (SOURCE_SSL_CRLPATH - 704)) | (1L << (SOURCE_SSL_KEY - 704)) | (1L << (SOURCE_SSL_CIPHER - 704)) | (1L << (SOURCE_SSL_VERIFY_SERVER_CERT - 704)) | (1L << (SOURCE_TLS_VERSION - 704)) | (1L << (SOURCE_TLS_CIPHERSUITES - 704)) | (1L << (SOURCE_PUBLIC_KEY_PATH - 704)) | (1L << (TABLE - 704)) | (1L << (TABLES - 704)) | (1L << (TABLESPACE - 704)) | (1L << (TABLE_CHECKSUM - 704)) | (1L << (TABLE_NAME - 704)) | (1L << (TEMPORARY - 704)) | (1L << (TEMPTABLE - 704)) | (1L << (TERMINATED - 704)) | (1L << (TEXT - 704)) | (1L << (THAN - 704)) | (1L << (THEN - 704)) | (1L << (THREAD_PRIORITY - 704)) | (1L << (TIES - 704)) | (1L << (TIME - 704)) | (1L << (TIMESTAMP - 704)) | (1L << (TIMESTAMP_ADD - 704)) | (1L << (TIMESTAMP_DIFF - 704)) | (1L << (TINYBLOB - 704)) | (1L << (TINYINT - 704)) | (1L << (TINYTEXT - 704)) | (1L << (TLS - 704)) | (1L << (TO - 704)) | (1L << (TRAILING - 704)) | (1L << (TRANSACTION - 704)) | (1L << (TRIGGER - 704)) | (1L << (TRIGGERS - 704)) | (1L << (TRUE - 704)) | (1L << (TRUNCATE - 704)) | (1L << (TYPE - 704)) | (1L << (TYPES - 704)) | (1L << (UNBOUNDED - 704)) | (1L << (UNCOMMITTED - 704)) | (1L << (UNDEFINED - 704)) | (1L << (UNDO - 704)) | (1L << (UNDOFILE - 704)) | (1L << (UNDO_BUFFER_SIZE - 704)) | (1L << (UNICODE - 704)) | (1L << (UNINSTALL - 704)) | (1L << (UNION - 704)) | (1L << (UNIQUE - 704)) | (1L << (UNKNOWN - 704)) | (1L << (UNLOCK - 704)) | (1L << (UNSIGNED - 704)) | (1L << (UNSIGNED_INT - 704)) | (1L << (UNSIGNED_INTEGER - 704)) | (1L << (UNTIL - 704)))) != 0) || ((((_la - 768)) & ~0x3f) == 0 && ((1L << (_la - 768)) & ((1L << (UPDATE - 768)) | (1L << (UPGRADE - 768)) | (1L << (USAGE - 768)) | (1L << (USE - 768)) | (1L << (USER - 768)) | (1L << (USER_RESOURCES - 768)) | (1L << (USE_FRM - 768)) | (1L << (USING - 768)) | (1L << (UTC_DATE - 768)) | (1L << (UTC_TIME - 768)) | (1L << (UTC_TIMESTAMP - 768)) | (1L << (VALIDATION - 768)) | (1L << (VALUE - 768)) | (1L << (VALUES - 768)) | (1L << (VARBINARY - 768)) | (1L << (VARCHAR - 768)) | (1L << (VARCHARACTER - 768)) | (1L << (VARIABLES - 768)) | (1L << (VARYING - 768)) | (1L << (VCPU - 768)) | (1L << (VIEW - 768)) | (1L << (VIRTUAL - 768)) | (1L << (VISIBLE - 768)) | (1L << (WAIT - 768)) | (1L << (WARNINGS - 768)) | (1L << (WEEK - 768)) | (1L << (WEIGHT_STRING - 768)) | (1L << (WHEN - 768)) | (1L << (WHERE - 768)) | (1L << (WHILE - 768)) | (1L << (WINDOW - 768)) | (1L << (WITH - 768)) | (1L << (WITHOUT - 768)) | (1L << (WORK - 768)) | (1L << (WRAPPER - 768)) | (1L << (WRITE - 768)) | (1L << (X509 - 768)) | (1L << (XA - 768)) | (1L << (XID - 768)) | (1L << (XML - 768)) | (1L << (XOR - 768)) | (1L << (YEAR - 768)) | (1L << (YEAR_MONTH - 768)) | (1L << (ZEROFILL - 768)) | (1L << (JSON_ARRAY - 768)) | (1L << (JSON_ARRAY_APPEND - 768)) | (1L << (JSON_ARRAY_INSERT - 768)) | (1L << (JSON_CONTAINS - 768)) | (1L << (JSON_CONTAINS_PATH - 768)) | (1L << (JSON_DEPTH - 768)) | (1L << (JSON_EXTRACT - 768)) | (1L << (JSON_INSERT - 768)) | (1L << (JSON_KEYS - 768)) | (1L << (JSON_LENGTH - 768)) | (1L << (JSON_MERGE - 768)) | (1L << (JSON_MERGE_PATCH - 768)) | (1L << (JSON_MERGE_PRESERVE - 768)) | (1L << (JSON_OBJECT - 768)) | (1L << (JSON_OVERLAPS - 768)) | (1L << (JSON_PRETTY - 768)) | (1L << (JSON_QUOTE - 768)) | (1L << (JSON_REMOVE - 768)) | (1L << (JSON_REPLACE - 768)) | (1L << (JSON_SCHEMA_VALID - 768)))) != 0) || ((((_la - 832)) & ~0x3f) == 0 && ((1L << (_la - 832)) & ((1L << (JSON_SCHEMA_VALIDATION_REPORT - 832)) | (1L << (JSON_SEARCH - 832)) | (1L << (JSON_SET - 832)) | (1L << (JSON_STORAGE_FREE - 832)) | (1L << (JSON_STORAGE_SIZE - 832)) | (1L << (JSON_TYPE - 832)) | (1L << (JSON_UNQUOTE - 832)) | (1L << (JSON_VALID - 832)) | (1L << (ZONE - 832)) | (1L << (FILESIZE_LITERAL - 832)) | (1L << (SINGLE_QUOTED_TEXT - 832)) | (1L << (DOUBLE_QUOTED_TEXT - 832)) | (1L << (BQUOTA_STRING - 832)) | (1L << (NCHAR_TEXT - 832)) | (1L << (UNDERSCORE_CHARSET - 832)) | (1L << (NUMBER_ - 832)) | (1L << (INT_NUM_ - 832)) | (1L << (FLOAT_NUM_ - 832)) | (1L << (DECIMAL_NUM_ - 832)) | (1L << (HEX_DIGIT_ - 832)) | (1L << (BIT_NUM_ - 832)) | (1L << (IDENTIFIER_ - 832)) | (1L << (IP_ADDRESS - 832)) | (1L << (NOT_SUPPORT_ - 832)))) != 0) );
13513 }
13514 break;
13515 }
13516 }
13517 catch (RecognitionException re) {
13518 _localctx.exception = re;
13519 _errHandler.reportError(this, re);
13520 _errHandler.recover(this, re);
13521 }
13522 finally {
13523 exitRule();
13524 }
13525 return _localctx;
13526 }
13527
13528 public static class UserIdentifierOrTextContext extends ParserRuleContext {
13529 public List<TextOrIdentifierContext> textOrIdentifier() {
13530 return getRuleContexts(TextOrIdentifierContext.class);
13531 }
13532 public TextOrIdentifierContext textOrIdentifier(int i) {
13533 return getRuleContext(TextOrIdentifierContext.class,i);
13534 }
13535 public TerminalNode AT_() { return getToken(HiveStatementParser.AT_, 0); }
13536 public UserIdentifierOrTextContext(ParserRuleContext parent, int invokingState) {
13537 super(parent, invokingState);
13538 }
13539 @Override public int getRuleIndex() { return RULE_userIdentifierOrText; }
13540 @Override
13541 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13542 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitUserIdentifierOrText(this);
13543 else return visitor.visitChildren(this);
13544 }
13545 }
13546
13547 public final UserIdentifierOrTextContext userIdentifierOrText() throws RecognitionException {
13548 UserIdentifierOrTextContext _localctx = new UserIdentifierOrTextContext(_ctx, getState());
13549 enterRule(_localctx, 234, RULE_userIdentifierOrText);
13550 try {
13551 enterOuterAlt(_localctx, 1);
13552 {
13553 setState(1455);
13554 textOrIdentifier();
13555 setState(1458);
13556 _errHandler.sync(this);
13557 switch ( getInterpreter().adaptivePredict(_input,162,_ctx) ) {
13558 case 1:
13559 {
13560 setState(1456);
13561 match(AT_);
13562 setState(1457);
13563 textOrIdentifier();
13564 }
13565 break;
13566 }
13567 }
13568 }
13569 catch (RecognitionException re) {
13570 _localctx.exception = re;
13571 _errHandler.reportError(this, re);
13572 _errHandler.recover(this, re);
13573 }
13574 finally {
13575 exitRule();
13576 }
13577 return _localctx;
13578 }
13579
13580 public static class UsernameContext extends ParserRuleContext {
13581 public UserIdentifierOrTextContext userIdentifierOrText() {
13582 return getRuleContext(UserIdentifierOrTextContext.class,0);
13583 }
13584 public TerminalNode CURRENT_USER() { return getToken(HiveStatementParser.CURRENT_USER, 0); }
13585 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
13586 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
13587 public UsernameContext(ParserRuleContext parent, int invokingState) {
13588 super(parent, invokingState);
13589 }
13590 @Override public int getRuleIndex() { return RULE_username; }
13591 @Override
13592 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13593 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitUsername(this);
13594 else return visitor.visitChildren(this);
13595 }
13596 }
13597
13598 public final UsernameContext username() throws RecognitionException {
13599 UsernameContext _localctx = new UsernameContext(_ctx, getState());
13600 enterRule(_localctx, 236, RULE_username);
13601 int _la;
13602 try {
13603 setState(1466);
13604 _errHandler.sync(this);
13605 switch (_input.LA(1)) {
13606 case MAX:
13607 case MIN:
13608 case SUM:
13609 case COUNT:
13610 case GROUP_CONCAT:
13611 case CAST:
13612 case POSITION:
13613 case SUBSTRING:
13614 case SUBSTR:
13615 case EXTRACT:
13616 case TRIM:
13617 case LAST_DAY:
13618 case TRADITIONAL:
13619 case TREE:
13620 case MYSQL_MAIN:
13621 case MYSQL_ADMIN:
13622 case INSTANT:
13623 case INPLACE:
13624 case COPY:
13625 case UL_BINARY:
13626 case AUTOCOMMIT:
13627 case INNODB:
13628 case REDO_LOG:
13629 case ACCOUNT:
13630 case ACTION:
13631 case ACTIVE:
13632 case ADMIN:
13633 case AFTER:
13634 case AGAINST:
13635 case AGGREGATE:
13636 case ALGORITHM:
13637 case ALWAYS:
13638 case ANY:
13639 case ARRAY:
13640 case ASCII:
13641 case AT:
13642 case ATTRIBUTE:
13643 case AUTOEXTEND_SIZE:
13644 case AUTO_INCREMENT:
13645 case AVG:
13646 case BIT_XOR:
13647 case AVG_ROW_LENGTH:
13648 case BACKUP:
13649 case BEGIN:
13650 case BINLOG:
13651 case BIT:
13652 case BLOCK:
13653 case BOOL:
13654 case BOOLEAN:
13655 case BTREE:
13656 case BUCKETS:
13657 case BYTE:
13658 case CACHE:
13659 case CASCADED:
13660 case CATALOG_NAME:
13661 case CHAIN:
13662 case CHANGED:
13663 case CHANNEL:
13664 case CHARSET:
13665 case CHECKSUM:
13666 case CIPHER:
13667 case CLASS_ORIGIN:
13668 case CLIENT:
13669 case CLONE:
13670 case CLOSE:
13671 case COALESCE:
13672 case CODE:
13673 case COLLATION:
13674 case COLUMNS:
13675 case COLUMN_FORMAT:
13676 case COLUMN_NAME:
13677 case COMMENT:
13678 case COMMIT:
13679 case COMMITTED:
13680 case COMPACT:
13681 case COMPLETION:
13682 case COMPONENT:
13683 case COMPRESSED:
13684 case COMPRESSION:
13685 case CONCURRENT:
13686 case CONNECTION:
13687 case CONSISTENT:
13688 case CONSTRAINT_CATALOG:
13689 case CONSTRAINT_NAME:
13690 case CONSTRAINT_SCHEMA:
13691 case CONTAINS:
13692 case CONTEXT:
13693 case CPU:
13694 case CREATE:
13695 case CURRENT:
13696 case CURSOR_NAME:
13697 case DATA:
13698 case DATAFILE:
13699 case DATE:
13700 case DATETIME:
13701 case DAY:
13702 case DAY_MINUTE:
13703 case DEALLOCATE:
13704 case DEFAULT_AUTH:
13705 case DEFINER:
13706 case DEFINITION:
13707 case DELAY_KEY_WRITE:
13708 case DESCRIPTION:
13709 case DIAGNOSTICS:
13710 case DIRECTORY:
13711 case DISABLE:
13712 case DISCARD:
13713 case DISK:
13714 case DO:
13715 case DUMPFILE:
13716 case DUPLICATE:
13717 case DYNAMIC:
13718 case ENABLE:
13719 case ENCRYPTION:
13720 case END:
13721 case ENDS:
13722 case ENFORCED:
13723 case ENGINE:
13724 case ENGINES:
13725 case ENGINE_ATTRIBUTE:
13726 case ENUM:
13727 case ERROR:
13728 case ERRORS:
13729 case ESCAPE:
13730 case EVENT:
13731 case EVENTS:
13732 case EVERY:
13733 case EXCHANGE:
13734 case EXCLUDE:
13735 case EXECUTE:
13736 case EXPANSION:
13737 case EXPIRE:
13738 case EXPORT:
13739 case EXTENDED:
13740 case EXTENT_SIZE:
13741 case FAILED_LOGIN_ATTEMPTS:
13742 case FAST:
13743 case FAULTS:
13744 case FILE:
13745 case FILE_BLOCK_SIZE:
13746 case FILTER:
13747 case FIRST:
13748 case FIXED:
13749 case FLUSH:
13750 case FOLLOWING:
13751 case FOLLOWS:
13752 case FORMAT:
13753 case FOUND:
13754 case FULL:
13755 case GENERAL:
13756 case GEOMETRY:
13757 case GEOMETRYCOLLECTION:
13758 case GET_FORMAT:
13759 case GET_MASTER_PUBLIC_KEY:
13760 case GLOBAL:
13761 case GRANTS:
13762 case GROUP_REPLICATION:
13763 case HANDLER:
13764 case HASH:
13765 case HELP:
13766 case HISTOGRAM:
13767 case HISTORY:
13768 case HOST:
13769 case HOSTS:
13770 case HOUR:
13771 case IDENTIFIED:
13772 case IGNORE_SERVER_IDS:
13773 case IMPORT:
13774 case INACTIVE:
13775 case INDEXES:
13776 case INITIAL_SIZE:
13777 case INSERT_METHOD:
13778 case INSTALL:
13779 case INSTANCE:
13780 case INVISIBLE:
13781 case INVOKER:
13782 case IO:
13783 case IPC:
13784 case ISOLATION:
13785 case ISSUER:
13786 case JSON:
13787 case JSON_VALUE:
13788 case KEY:
13789 case KEY_BLOCK_SIZE:
13790 case LANGUAGE:
13791 case LAST:
13792 case LAST_VALUE:
13793 case LEAVES:
13794 case LESS:
13795 case LEVEL:
13796 case LINESTRING:
13797 case LIST:
13798 case LOCAL:
13799 case LOCKED:
13800 case LOCKS:
13801 case LOGFILE:
13802 case LOGS:
13803 case MASTER:
13804 case MASTER_AUTO_POSITION:
13805 case MASTER_COMPRESSION_ALGORITHM:
13806 case MASTER_CONNECT_RETRY:
13807 case MASTER_DELAY:
13808 case MASTER_HEARTBEAT_PERIOD:
13809 case MASTER_HOST:
13810 case MASTER_LOG_FILE:
13811 case MASTER_LOG_POS:
13812 case MASTER_PASSWORD:
13813 case MASTER_PORT:
13814 case MASTER_PUBLIC_KEY_PATH:
13815 case MASTER_RETRY_COUNT:
13816 case MASTER_SERVER_ID:
13817 case MASTER_SSL:
13818 case MASTER_SSL_CA:
13819 case MASTER_SSL_CAPATH:
13820 case MASTER_SSL_CERT:
13821 case MASTER_SSL_CIPHER:
13822 case MASTER_SSL_CRL:
13823 case MASTER_SSL_CRLPATH:
13824 case MASTER_SSL_KEY:
13825 case MASTER_TLS_CIPHERSUITES:
13826 case MASTER_TLS_VERSION:
13827 case MASTER_USER:
13828 case MASTER_ZSTD_COMPRESSION_LEVEL:
13829 case MAXVALUE:
13830 case MAX_CONNECTIONS_PER_HOUR:
13831 case MAX_QUERIES_PER_HOUR:
13832 case MAX_ROWS:
13833 case MAX_SIZE:
13834 case MAX_UPDATES_PER_HOUR:
13835 case MAX_USER_CONNECTIONS:
13836 case MEDIUM:
13837 case MEMBER:
13838 case MEMORY:
13839 case MERGE:
13840 case MESSAGE_TEXT:
13841 case MICROSECOND:
13842 case MIGRATE:
13843 case MINUTE:
13844 case MIN_ROWS:
13845 case MODE:
13846 case MODIFY:
13847 case MONTH:
13848 case MULTILINESTRING:
13849 case MULTIPOINT:
13850 case MULTIPOLYGON:
13851 case MUTEX:
13852 case MYSQL_ERRNO:
13853 case NAME:
13854 case NAMES:
13855 case NATIONAL:
13856 case NCHAR:
13857 case NDBCLUSTER:
13858 case NESTED:
13859 case NETWORK_NAMESPACE:
13860 case NEVER:
13861 case NEW:
13862 case NEXT:
13863 case NO:
13864 case NODEGROUP:
13865 case NONE:
13866 case NOWAIT:
13867 case NO_WAIT:
13868 case NULLS:
13869 case NUMBER:
13870 case NVARCHAR:
13871 case OFF:
13872 case OFFSET:
13873 case OJ:
13874 case OLD:
13875 case ONE:
13876 case ONLY:
13877 case OPEN:
13878 case OPTIONAL:
13879 case OPTIONS:
13880 case ORDINALITY:
13881 case ORGANIZATION:
13882 case OTHERS:
13883 case OWNER:
13884 case PACK_KEYS:
13885 case PAGE:
13886 case PARSER:
13887 case PARTIAL:
13888 case PARTITIONING:
13889 case PARTITIONS:
13890 case PASSWORD:
13891 case PASSWORD_LOCK_TIME:
13892 case PATH:
13893 case PERSIST:
13894 case PERSIST_ONLY:
13895 case PHASE:
13896 case PLUGIN:
13897 case PLUGINS:
13898 case PLUGIN_DIR:
13899 case POINT:
13900 case POLYGON:
13901 case PORT:
13902 case PRECEDES:
13903 case PRECEDING:
13904 case PREPARE:
13905 case PRESERVE:
13906 case PREV:
13907 case PRIMARY:
13908 case PRIVILEGES:
13909 case PRIVILEGE_CHECKS_USER:
13910 case PROCESS:
13911 case PROCESSLIST:
13912 case PROFILE:
13913 case PROFILES:
13914 case PROXY:
13915 case QUARTER:
13916 case QUERY:
13917 case QUICK:
13918 case RANDOM:
13919 case READ_ONLY:
13920 case REBUILD:
13921 case RECOVER:
13922 case REDO_BUFFER_SIZE:
13923 case REDUNDANT:
13924 case REFERENCE:
13925 case RELAY:
13926 case RELAYLOG:
13927 case RELAY_LOG_FILE:
13928 case RELAY_LOG_POS:
13929 case RELAY_THREAD:
13930 case RELOAD:
13931 case REMOVE:
13932 case REORGANIZE:
13933 case REPAIR:
13934 case REPEATABLE:
13935 case REPLICATE_DO_DB:
13936 case REPLICATE_DO_TABLE:
13937 case REPLICATE_IGNORE_DB:
13938 case REPLICATE_IGNORE_TABLE:
13939 case REPLICATE_REWRITE_DB:
13940 case REPLICATE_WILD_DO_TABLE:
13941 case REPLICATE_WILD_IGNORE_TABLE:
13942 case REPLICATION:
13943 case REQUIRE_ROW_FORMAT:
13944 case RESET:
13945 case RESOURCE:
13946 case RESPECT:
13947 case RESTART:
13948 case RESTORE:
13949 case RESUME:
13950 case RETAIN:
13951 case RETURNED_SQLSTATE:
13952 case RETURNING:
13953 case RETURNS:
13954 case REUSE:
13955 case REVERSE:
13956 case ROLE:
13957 case ROLLBACK:
13958 case ROLLUP:
13959 case ROTATE:
13960 case ROUTINE:
13961 case ROW_COUNT:
13962 case ROW_FORMAT:
13963 case RTREE:
13964 case SAVEPOINT:
13965 case SCHEDULE:
13966 case SCHEMA_NAME:
13967 case SECOND:
13968 case SECONDARY:
13969 case SECONDARY_ENGINE:
13970 case SECONDARY_ENGINE_ATTRIBUTE:
13971 case SECONDARY_LOAD:
13972 case SECONDARY_UNLOAD:
13973 case SECURITY:
13974 case SERIAL:
13975 case SERIALIZABLE:
13976 case SERVER:
13977 case SESSION:
13978 case SHARE:
13979 case SHUTDOWN:
13980 case SIGNED:
13981 case SIMPLE:
13982 case SLAVE:
13983 case SLOW:
13984 case SNAPSHOT:
13985 case SOCKET:
13986 case SONAME:
13987 case SOUNDS:
13988 case SOURCE:
13989 case SQL_AFTER_GTIDS:
13990 case SQL_AFTER_MTS_GAPS:
13991 case SQL_BEFORE_GTIDS:
13992 case SQL_BUFFER_RESULT:
13993 case SQL_NO_CACHE:
13994 case SQL_THREAD:
13995 case SRID:
13996 case STACKED:
13997 case START:
13998 case STARTS:
13999 case STATS_AUTO_RECALC:
14000 case STATS_PERSISTENT:
14001 case STATS_SAMPLE_PAGES:
14002 case STATUS:
14003 case STOP:
14004 case STORAGE:
14005 case STREAM:
14006 case STRING:
14007 case SUBCLASS_ORIGIN:
14008 case SUBJECT:
14009 case SUBPARTITION:
14010 case SUBPARTITIONS:
14011 case SUPER:
14012 case SUSPEND:
14013 case SWAPS:
14014 case SWITCHES:
14015 case SYSTEM:
14016 case TABLE:
14017 case TABLES:
14018 case TABLESPACE:
14019 case TABLE_CHECKSUM:
14020 case TABLE_NAME:
14021 case TEMPORARY:
14022 case TEMPTABLE:
14023 case TEXT:
14024 case THAN:
14025 case THREAD_PRIORITY:
14026 case TIES:
14027 case TIME:
14028 case TIMESTAMP:
14029 case TIMESTAMP_ADD:
14030 case TIMESTAMP_DIFF:
14031 case TLS:
14032 case TRANSACTION:
14033 case TRIGGERS:
14034 case TRUNCATE:
14035 case TYPE:
14036 case TYPES:
14037 case UNBOUNDED:
14038 case UNCOMMITTED:
14039 case UNDEFINED:
14040 case UNDOFILE:
14041 case UNDO_BUFFER_SIZE:
14042 case UNICODE:
14043 case UNINSTALL:
14044 case UNKNOWN:
14045 case UNTIL:
14046 case UPGRADE:
14047 case USER:
14048 case USER_RESOURCES:
14049 case USE_FRM:
14050 case UTC_DATE:
14051 case UTC_TIME:
14052 case UTC_TIMESTAMP:
14053 case VALIDATION:
14054 case VALUE:
14055 case VARIABLES:
14056 case VCPU:
14057 case VIEW:
14058 case VISIBLE:
14059 case WAIT:
14060 case WARNINGS:
14061 case WEEK:
14062 case WEIGHT_STRING:
14063 case WITHOUT:
14064 case WORK:
14065 case WRAPPER:
14066 case X509:
14067 case XA:
14068 case XID:
14069 case XML:
14070 case YEAR:
14071 case YEAR_MONTH:
14072 case SINGLE_QUOTED_TEXT:
14073 case DOUBLE_QUOTED_TEXT:
14074 case BQUOTA_STRING:
14075 case UNDERSCORE_CHARSET:
14076 case IDENTIFIER_:
14077 case IP_ADDRESS:
14078 enterOuterAlt(_localctx, 1);
14079 {
14080 setState(1460);
14081 userIdentifierOrText();
14082 }
14083 break;
14084 case CURRENT_USER:
14085 enterOuterAlt(_localctx, 2);
14086 {
14087 setState(1461);
14088 match(CURRENT_USER);
14089 setState(1464);
14090 _errHandler.sync(this);
14091 _la = _input.LA(1);
14092 if (_la==LP_) {
14093 {
14094 setState(1462);
14095 match(LP_);
14096 setState(1463);
14097 match(RP_);
14098 }
14099 }
14100
14101 }
14102 break;
14103 default:
14104 throw new NoViableAltException(this);
14105 }
14106 }
14107 catch (RecognitionException re) {
14108 _localctx.exception = re;
14109 _errHandler.reportError(this, re);
14110 _errHandler.recover(this, re);
14111 }
14112 finally {
14113 exitRule();
14114 }
14115 return _localctx;
14116 }
14117
14118 public static class EventNameContext extends ParserRuleContext {
14119 public IdentifierContext identifier() {
14120 return getRuleContext(IdentifierContext.class,0);
14121 }
14122 public OwnerContext owner() {
14123 return getRuleContext(OwnerContext.class,0);
14124 }
14125 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
14126 public EventNameContext(ParserRuleContext parent, int invokingState) {
14127 super(parent, invokingState);
14128 }
14129 @Override public int getRuleIndex() { return RULE_eventName; }
14130 @Override
14131 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14132 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitEventName(this);
14133 else return visitor.visitChildren(this);
14134 }
14135 }
14136
14137 public final EventNameContext eventName() throws RecognitionException {
14138 EventNameContext _localctx = new EventNameContext(_ctx, getState());
14139 enterRule(_localctx, 238, RULE_eventName);
14140 try {
14141 enterOuterAlt(_localctx, 1);
14142 {
14143 setState(1471);
14144 _errHandler.sync(this);
14145 switch ( getInterpreter().adaptivePredict(_input,165,_ctx) ) {
14146 case 1:
14147 {
14148 setState(1468);
14149 owner();
14150 setState(1469);
14151 match(DOT_);
14152 }
14153 break;
14154 }
14155 setState(1473);
14156 identifier();
14157 }
14158 }
14159 catch (RecognitionException re) {
14160 _localctx.exception = re;
14161 _errHandler.reportError(this, re);
14162 _errHandler.recover(this, re);
14163 }
14164 finally {
14165 exitRule();
14166 }
14167 return _localctx;
14168 }
14169
14170 public static class ServerNameContext extends ParserRuleContext {
14171 public TextOrIdentifierContext textOrIdentifier() {
14172 return getRuleContext(TextOrIdentifierContext.class,0);
14173 }
14174 public ServerNameContext(ParserRuleContext parent, int invokingState) {
14175 super(parent, invokingState);
14176 }
14177 @Override public int getRuleIndex() { return RULE_serverName; }
14178 @Override
14179 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14180 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitServerName(this);
14181 else return visitor.visitChildren(this);
14182 }
14183 }
14184
14185 public final ServerNameContext serverName() throws RecognitionException {
14186 ServerNameContext _localctx = new ServerNameContext(_ctx, getState());
14187 enterRule(_localctx, 240, RULE_serverName);
14188 try {
14189 enterOuterAlt(_localctx, 1);
14190 {
14191 setState(1475);
14192 textOrIdentifier();
14193 }
14194 }
14195 catch (RecognitionException re) {
14196 _localctx.exception = re;
14197 _errHandler.reportError(this, re);
14198 _errHandler.recover(this, re);
14199 }
14200 finally {
14201 exitRule();
14202 }
14203 return _localctx;
14204 }
14205
14206 public static class WrapperNameContext extends ParserRuleContext {
14207 public TextOrIdentifierContext textOrIdentifier() {
14208 return getRuleContext(TextOrIdentifierContext.class,0);
14209 }
14210 public WrapperNameContext(ParserRuleContext parent, int invokingState) {
14211 super(parent, invokingState);
14212 }
14213 @Override public int getRuleIndex() { return RULE_wrapperName; }
14214 @Override
14215 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14216 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitWrapperName(this);
14217 else return visitor.visitChildren(this);
14218 }
14219 }
14220
14221 public final WrapperNameContext wrapperName() throws RecognitionException {
14222 WrapperNameContext _localctx = new WrapperNameContext(_ctx, getState());
14223 enterRule(_localctx, 242, RULE_wrapperName);
14224 try {
14225 enterOuterAlt(_localctx, 1);
14226 {
14227 setState(1477);
14228 textOrIdentifier();
14229 }
14230 }
14231 catch (RecognitionException re) {
14232 _localctx.exception = re;
14233 _errHandler.reportError(this, re);
14234 _errHandler.recover(this, re);
14235 }
14236 finally {
14237 exitRule();
14238 }
14239 return _localctx;
14240 }
14241
14242 public static class FunctionNameContext extends ParserRuleContext {
14243 public IdentifierContext identifier() {
14244 return getRuleContext(IdentifierContext.class,0);
14245 }
14246 public OwnerContext owner() {
14247 return getRuleContext(OwnerContext.class,0);
14248 }
14249 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
14250 public FunctionNameContext(ParserRuleContext parent, int invokingState) {
14251 super(parent, invokingState);
14252 }
14253 @Override public int getRuleIndex() { return RULE_functionName; }
14254 @Override
14255 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14256 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFunctionName(this);
14257 else return visitor.visitChildren(this);
14258 }
14259 }
14260
14261 public final FunctionNameContext functionName() throws RecognitionException {
14262 FunctionNameContext _localctx = new FunctionNameContext(_ctx, getState());
14263 enterRule(_localctx, 244, RULE_functionName);
14264 try {
14265 enterOuterAlt(_localctx, 1);
14266 {
14267 setState(1482);
14268 _errHandler.sync(this);
14269 switch ( getInterpreter().adaptivePredict(_input,166,_ctx) ) {
14270 case 1:
14271 {
14272 setState(1479);
14273 owner();
14274 setState(1480);
14275 match(DOT_);
14276 }
14277 break;
14278 }
14279 setState(1484);
14280 identifier();
14281 }
14282 }
14283 catch (RecognitionException re) {
14284 _localctx.exception = re;
14285 _errHandler.reportError(this, re);
14286 _errHandler.recover(this, re);
14287 }
14288 finally {
14289 exitRule();
14290 }
14291 return _localctx;
14292 }
14293
14294 public static class ProcedureNameContext extends ParserRuleContext {
14295 public IdentifierContext identifier() {
14296 return getRuleContext(IdentifierContext.class,0);
14297 }
14298 public OwnerContext owner() {
14299 return getRuleContext(OwnerContext.class,0);
14300 }
14301 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
14302 public ProcedureNameContext(ParserRuleContext parent, int invokingState) {
14303 super(parent, invokingState);
14304 }
14305 @Override public int getRuleIndex() { return RULE_procedureName; }
14306 @Override
14307 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14308 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitProcedureName(this);
14309 else return visitor.visitChildren(this);
14310 }
14311 }
14312
14313 public final ProcedureNameContext procedureName() throws RecognitionException {
14314 ProcedureNameContext _localctx = new ProcedureNameContext(_ctx, getState());
14315 enterRule(_localctx, 246, RULE_procedureName);
14316 try {
14317 enterOuterAlt(_localctx, 1);
14318 {
14319 setState(1489);
14320 _errHandler.sync(this);
14321 switch ( getInterpreter().adaptivePredict(_input,167,_ctx) ) {
14322 case 1:
14323 {
14324 setState(1486);
14325 owner();
14326 setState(1487);
14327 match(DOT_);
14328 }
14329 break;
14330 }
14331 setState(1491);
14332 identifier();
14333 }
14334 }
14335 catch (RecognitionException re) {
14336 _localctx.exception = re;
14337 _errHandler.reportError(this, re);
14338 _errHandler.recover(this, re);
14339 }
14340 finally {
14341 exitRule();
14342 }
14343 return _localctx;
14344 }
14345
14346 public static class ViewNameContext extends ParserRuleContext {
14347 public IdentifierContext identifier() {
14348 return getRuleContext(IdentifierContext.class,0);
14349 }
14350 public OwnerContext owner() {
14351 return getRuleContext(OwnerContext.class,0);
14352 }
14353 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
14354 public ViewNameContext(ParserRuleContext parent, int invokingState) {
14355 super(parent, invokingState);
14356 }
14357 @Override public int getRuleIndex() { return RULE_viewName; }
14358 @Override
14359 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14360 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitViewName(this);
14361 else return visitor.visitChildren(this);
14362 }
14363 }
14364
14365 public final ViewNameContext viewName() throws RecognitionException {
14366 ViewNameContext _localctx = new ViewNameContext(_ctx, getState());
14367 enterRule(_localctx, 248, RULE_viewName);
14368 try {
14369 enterOuterAlt(_localctx, 1);
14370 {
14371 setState(1496);
14372 _errHandler.sync(this);
14373 switch ( getInterpreter().adaptivePredict(_input,168,_ctx) ) {
14374 case 1:
14375 {
14376 setState(1493);
14377 owner();
14378 setState(1494);
14379 match(DOT_);
14380 }
14381 break;
14382 }
14383 setState(1498);
14384 identifier();
14385 }
14386 }
14387 catch (RecognitionException re) {
14388 _localctx.exception = re;
14389 _errHandler.reportError(this, re);
14390 _errHandler.recover(this, re);
14391 }
14392 finally {
14393 exitRule();
14394 }
14395 return _localctx;
14396 }
14397
14398 public static class OwnerContext extends ParserRuleContext {
14399 public IdentifierContext identifier() {
14400 return getRuleContext(IdentifierContext.class,0);
14401 }
14402 public OwnerContext(ParserRuleContext parent, int invokingState) {
14403 super(parent, invokingState);
14404 }
14405 @Override public int getRuleIndex() { return RULE_owner; }
14406 @Override
14407 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14408 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitOwner(this);
14409 else return visitor.visitChildren(this);
14410 }
14411 }
14412
14413 public final OwnerContext owner() throws RecognitionException {
14414 OwnerContext _localctx = new OwnerContext(_ctx, getState());
14415 enterRule(_localctx, 250, RULE_owner);
14416 try {
14417 enterOuterAlt(_localctx, 1);
14418 {
14419 setState(1500);
14420 identifier();
14421 }
14422 }
14423 catch (RecognitionException re) {
14424 _localctx.exception = re;
14425 _errHandler.reportError(this, re);
14426 _errHandler.recover(this, re);
14427 }
14428 finally {
14429 exitRule();
14430 }
14431 return _localctx;
14432 }
14433
14434 public static class AliasContext extends ParserRuleContext {
14435 public TextOrIdentifierContext textOrIdentifier() {
14436 return getRuleContext(TextOrIdentifierContext.class,0);
14437 }
14438 public AliasContext(ParserRuleContext parent, int invokingState) {
14439 super(parent, invokingState);
14440 }
14441 @Override public int getRuleIndex() { return RULE_alias; }
14442 @Override
14443 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14444 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitAlias(this);
14445 else return visitor.visitChildren(this);
14446 }
14447 }
14448
14449 public final AliasContext alias() throws RecognitionException {
14450 AliasContext _localctx = new AliasContext(_ctx, getState());
14451 enterRule(_localctx, 252, RULE_alias);
14452 try {
14453 enterOuterAlt(_localctx, 1);
14454 {
14455 setState(1502);
14456 textOrIdentifier();
14457 }
14458 }
14459 catch (RecognitionException re) {
14460 _localctx.exception = re;
14461 _errHandler.reportError(this, re);
14462 _errHandler.recover(this, re);
14463 }
14464 finally {
14465 exitRule();
14466 }
14467 return _localctx;
14468 }
14469
14470 public static class NameContext extends ParserRuleContext {
14471 public IdentifierContext identifier() {
14472 return getRuleContext(IdentifierContext.class,0);
14473 }
14474 public NameContext(ParserRuleContext parent, int invokingState) {
14475 super(parent, invokingState);
14476 }
14477 @Override public int getRuleIndex() { return RULE_name; }
14478 @Override
14479 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14480 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitName(this);
14481 else return visitor.visitChildren(this);
14482 }
14483 }
14484
14485 public final NameContext name() throws RecognitionException {
14486 NameContext _localctx = new NameContext(_ctx, getState());
14487 enterRule(_localctx, 254, RULE_name);
14488 try {
14489 enterOuterAlt(_localctx, 1);
14490 {
14491 setState(1504);
14492 identifier();
14493 }
14494 }
14495 catch (RecognitionException re) {
14496 _localctx.exception = re;
14497 _errHandler.reportError(this, re);
14498 _errHandler.recover(this, re);
14499 }
14500 finally {
14501 exitRule();
14502 }
14503 return _localctx;
14504 }
14505
14506 public static class TableListContext extends ParserRuleContext {
14507 public List<TableNameContext> tableName() {
14508 return getRuleContexts(TableNameContext.class);
14509 }
14510 public TableNameContext tableName(int i) {
14511 return getRuleContext(TableNameContext.class,i);
14512 }
14513 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
14514 public TerminalNode COMMA_(int i) {
14515 return getToken(HiveStatementParser.COMMA_, i);
14516 }
14517 public TableListContext(ParserRuleContext parent, int invokingState) {
14518 super(parent, invokingState);
14519 }
14520 @Override public int getRuleIndex() { return RULE_tableList; }
14521 @Override
14522 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14523 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableList(this);
14524 else return visitor.visitChildren(this);
14525 }
14526 }
14527
14528 public final TableListContext tableList() throws RecognitionException {
14529 TableListContext _localctx = new TableListContext(_ctx, getState());
14530 enterRule(_localctx, 256, RULE_tableList);
14531 int _la;
14532 try {
14533 enterOuterAlt(_localctx, 1);
14534 {
14535 setState(1506);
14536 tableName();
14537 setState(1511);
14538 _errHandler.sync(this);
14539 _la = _input.LA(1);
14540 while (_la==COMMA_) {
14541 {
14542 {
14543 setState(1507);
14544 match(COMMA_);
14545 setState(1508);
14546 tableName();
14547 }
14548 }
14549 setState(1513);
14550 _errHandler.sync(this);
14551 _la = _input.LA(1);
14552 }
14553 }
14554 }
14555 catch (RecognitionException re) {
14556 _localctx.exception = re;
14557 _errHandler.reportError(this, re);
14558 _errHandler.recover(this, re);
14559 }
14560 finally {
14561 exitRule();
14562 }
14563 return _localctx;
14564 }
14565
14566 public static class ViewNamesContext extends ParserRuleContext {
14567 public List<ViewNameContext> viewName() {
14568 return getRuleContexts(ViewNameContext.class);
14569 }
14570 public ViewNameContext viewName(int i) {
14571 return getRuleContext(ViewNameContext.class,i);
14572 }
14573 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
14574 public TerminalNode COMMA_(int i) {
14575 return getToken(HiveStatementParser.COMMA_, i);
14576 }
14577 public ViewNamesContext(ParserRuleContext parent, int invokingState) {
14578 super(parent, invokingState);
14579 }
14580 @Override public int getRuleIndex() { return RULE_viewNames; }
14581 @Override
14582 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14583 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitViewNames(this);
14584 else return visitor.visitChildren(this);
14585 }
14586 }
14587
14588 public final ViewNamesContext viewNames() throws RecognitionException {
14589 ViewNamesContext _localctx = new ViewNamesContext(_ctx, getState());
14590 enterRule(_localctx, 258, RULE_viewNames);
14591 int _la;
14592 try {
14593 enterOuterAlt(_localctx, 1);
14594 {
14595 setState(1514);
14596 viewName();
14597 setState(1519);
14598 _errHandler.sync(this);
14599 _la = _input.LA(1);
14600 while (_la==COMMA_) {
14601 {
14602 {
14603 setState(1515);
14604 match(COMMA_);
14605 setState(1516);
14606 viewName();
14607 }
14608 }
14609 setState(1521);
14610 _errHandler.sync(this);
14611 _la = _input.LA(1);
14612 }
14613 }
14614 }
14615 catch (RecognitionException re) {
14616 _localctx.exception = re;
14617 _errHandler.reportError(this, re);
14618 _errHandler.recover(this, re);
14619 }
14620 finally {
14621 exitRule();
14622 }
14623 return _localctx;
14624 }
14625
14626 public static class ColumnNamesContext extends ParserRuleContext {
14627 public List<ColumnNameContext> columnName() {
14628 return getRuleContexts(ColumnNameContext.class);
14629 }
14630 public ColumnNameContext columnName(int i) {
14631 return getRuleContext(ColumnNameContext.class,i);
14632 }
14633 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
14634 public TerminalNode COMMA_(int i) {
14635 return getToken(HiveStatementParser.COMMA_, i);
14636 }
14637 public ColumnNamesContext(ParserRuleContext parent, int invokingState) {
14638 super(parent, invokingState);
14639 }
14640 @Override public int getRuleIndex() { return RULE_columnNames; }
14641 @Override
14642 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14643 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitColumnNames(this);
14644 else return visitor.visitChildren(this);
14645 }
14646 }
14647
14648 public final ColumnNamesContext columnNames() throws RecognitionException {
14649 ColumnNamesContext _localctx = new ColumnNamesContext(_ctx, getState());
14650 enterRule(_localctx, 260, RULE_columnNames);
14651 int _la;
14652 try {
14653 enterOuterAlt(_localctx, 1);
14654 {
14655 setState(1522);
14656 columnName();
14657 setState(1527);
14658 _errHandler.sync(this);
14659 _la = _input.LA(1);
14660 while (_la==COMMA_) {
14661 {
14662 {
14663 setState(1523);
14664 match(COMMA_);
14665 setState(1524);
14666 columnName();
14667 }
14668 }
14669 setState(1529);
14670 _errHandler.sync(this);
14671 _la = _input.LA(1);
14672 }
14673 }
14674 }
14675 catch (RecognitionException re) {
14676 _localctx.exception = re;
14677 _errHandler.reportError(this, re);
14678 _errHandler.recover(this, re);
14679 }
14680 finally {
14681 exitRule();
14682 }
14683 return _localctx;
14684 }
14685
14686 public static class GroupNameContext extends ParserRuleContext {
14687 public IdentifierContext identifier() {
14688 return getRuleContext(IdentifierContext.class,0);
14689 }
14690 public GroupNameContext(ParserRuleContext parent, int invokingState) {
14691 super(parent, invokingState);
14692 }
14693 @Override public int getRuleIndex() { return RULE_groupName; }
14694 @Override
14695 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14696 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitGroupName(this);
14697 else return visitor.visitChildren(this);
14698 }
14699 }
14700
14701 public final GroupNameContext groupName() throws RecognitionException {
14702 GroupNameContext _localctx = new GroupNameContext(_ctx, getState());
14703 enterRule(_localctx, 262, RULE_groupName);
14704 try {
14705 enterOuterAlt(_localctx, 1);
14706 {
14707 setState(1530);
14708 identifier();
14709 }
14710 }
14711 catch (RecognitionException re) {
14712 _localctx.exception = re;
14713 _errHandler.reportError(this, re);
14714 _errHandler.recover(this, re);
14715 }
14716 finally {
14717 exitRule();
14718 }
14719 return _localctx;
14720 }
14721
14722 public static class RoutineNameContext extends ParserRuleContext {
14723 public IdentifierContext identifier() {
14724 return getRuleContext(IdentifierContext.class,0);
14725 }
14726 public RoutineNameContext(ParserRuleContext parent, int invokingState) {
14727 super(parent, invokingState);
14728 }
14729 @Override public int getRuleIndex() { return RULE_routineName; }
14730 @Override
14731 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14732 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitRoutineName(this);
14733 else return visitor.visitChildren(this);
14734 }
14735 }
14736
14737 public final RoutineNameContext routineName() throws RecognitionException {
14738 RoutineNameContext _localctx = new RoutineNameContext(_ctx, getState());
14739 enterRule(_localctx, 264, RULE_routineName);
14740 try {
14741 enterOuterAlt(_localctx, 1);
14742 {
14743 setState(1532);
14744 identifier();
14745 }
14746 }
14747 catch (RecognitionException re) {
14748 _localctx.exception = re;
14749 _errHandler.reportError(this, re);
14750 _errHandler.recover(this, re);
14751 }
14752 finally {
14753 exitRule();
14754 }
14755 return _localctx;
14756 }
14757
14758 public static class ShardLibraryNameContext extends ParserRuleContext {
14759 public StringLiteralsContext stringLiterals() {
14760 return getRuleContext(StringLiteralsContext.class,0);
14761 }
14762 public ShardLibraryNameContext(ParserRuleContext parent, int invokingState) {
14763 super(parent, invokingState);
14764 }
14765 @Override public int getRuleIndex() { return RULE_shardLibraryName; }
14766 @Override
14767 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14768 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitShardLibraryName(this);
14769 else return visitor.visitChildren(this);
14770 }
14771 }
14772
14773 public final ShardLibraryNameContext shardLibraryName() throws RecognitionException {
14774 ShardLibraryNameContext _localctx = new ShardLibraryNameContext(_ctx, getState());
14775 enterRule(_localctx, 266, RULE_shardLibraryName);
14776 try {
14777 enterOuterAlt(_localctx, 1);
14778 {
14779 setState(1534);
14780 stringLiterals();
14781 }
14782 }
14783 catch (RecognitionException re) {
14784 _localctx.exception = re;
14785 _errHandler.reportError(this, re);
14786 _errHandler.recover(this, re);
14787 }
14788 finally {
14789 exitRule();
14790 }
14791 return _localctx;
14792 }
14793
14794 public static class ComponentNameContext extends ParserRuleContext {
14795 public String_Context string_() {
14796 return getRuleContext(String_Context.class,0);
14797 }
14798 public ComponentNameContext(ParserRuleContext parent, int invokingState) {
14799 super(parent, invokingState);
14800 }
14801 @Override public int getRuleIndex() { return RULE_componentName; }
14802 @Override
14803 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14804 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitComponentName(this);
14805 else return visitor.visitChildren(this);
14806 }
14807 }
14808
14809 public final ComponentNameContext componentName() throws RecognitionException {
14810 ComponentNameContext _localctx = new ComponentNameContext(_ctx, getState());
14811 enterRule(_localctx, 268, RULE_componentName);
14812 try {
14813 enterOuterAlt(_localctx, 1);
14814 {
14815 setState(1536);
14816 string_();
14817 }
14818 }
14819 catch (RecognitionException re) {
14820 _localctx.exception = re;
14821 _errHandler.reportError(this, re);
14822 _errHandler.recover(this, re);
14823 }
14824 finally {
14825 exitRule();
14826 }
14827 return _localctx;
14828 }
14829
14830 public static class PluginNameContext extends ParserRuleContext {
14831 public TextOrIdentifierContext textOrIdentifier() {
14832 return getRuleContext(TextOrIdentifierContext.class,0);
14833 }
14834 public PluginNameContext(ParserRuleContext parent, int invokingState) {
14835 super(parent, invokingState);
14836 }
14837 @Override public int getRuleIndex() { return RULE_pluginName; }
14838 @Override
14839 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14840 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitPluginName(this);
14841 else return visitor.visitChildren(this);
14842 }
14843 }
14844
14845 public final PluginNameContext pluginName() throws RecognitionException {
14846 PluginNameContext _localctx = new PluginNameContext(_ctx, getState());
14847 enterRule(_localctx, 270, RULE_pluginName);
14848 try {
14849 enterOuterAlt(_localctx, 1);
14850 {
14851 setState(1538);
14852 textOrIdentifier();
14853 }
14854 }
14855 catch (RecognitionException re) {
14856 _localctx.exception = re;
14857 _errHandler.reportError(this, re);
14858 _errHandler.recover(this, re);
14859 }
14860 finally {
14861 exitRule();
14862 }
14863 return _localctx;
14864 }
14865
14866 public static class HostnameContext extends ParserRuleContext {
14867 public String_Context string_() {
14868 return getRuleContext(String_Context.class,0);
14869 }
14870 public HostnameContext(ParserRuleContext parent, int invokingState) {
14871 super(parent, invokingState);
14872 }
14873 @Override public int getRuleIndex() { return RULE_hostname; }
14874 @Override
14875 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14876 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitHostname(this);
14877 else return visitor.visitChildren(this);
14878 }
14879 }
14880
14881 public final HostnameContext hostname() throws RecognitionException {
14882 HostnameContext _localctx = new HostnameContext(_ctx, getState());
14883 enterRule(_localctx, 272, RULE_hostname);
14884 try {
14885 enterOuterAlt(_localctx, 1);
14886 {
14887 setState(1540);
14888 string_();
14889 }
14890 }
14891 catch (RecognitionException re) {
14892 _localctx.exception = re;
14893 _errHandler.reportError(this, re);
14894 _errHandler.recover(this, re);
14895 }
14896 finally {
14897 exitRule();
14898 }
14899 return _localctx;
14900 }
14901
14902 public static class PortContext extends ParserRuleContext {
14903 public TerminalNode NUMBER_() { return getToken(HiveStatementParser.NUMBER_, 0); }
14904 public PortContext(ParserRuleContext parent, int invokingState) {
14905 super(parent, invokingState);
14906 }
14907 @Override public int getRuleIndex() { return RULE_port; }
14908 @Override
14909 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14910 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitPort(this);
14911 else return visitor.visitChildren(this);
14912 }
14913 }
14914
14915 public final PortContext port() throws RecognitionException {
14916 PortContext _localctx = new PortContext(_ctx, getState());
14917 enterRule(_localctx, 274, RULE_port);
14918 try {
14919 enterOuterAlt(_localctx, 1);
14920 {
14921 setState(1542);
14922 match(NUMBER_);
14923 }
14924 }
14925 catch (RecognitionException re) {
14926 _localctx.exception = re;
14927 _errHandler.reportError(this, re);
14928 _errHandler.recover(this, re);
14929 }
14930 finally {
14931 exitRule();
14932 }
14933 return _localctx;
14934 }
14935
14936 public static class CloneInstanceContext extends ParserRuleContext {
14937 public UsernameContext username() {
14938 return getRuleContext(UsernameContext.class,0);
14939 }
14940 public TerminalNode AT_() { return getToken(HiveStatementParser.AT_, 0); }
14941 public HostnameContext hostname() {
14942 return getRuleContext(HostnameContext.class,0);
14943 }
14944 public TerminalNode COLON_() { return getToken(HiveStatementParser.COLON_, 0); }
14945 public PortContext port() {
14946 return getRuleContext(PortContext.class,0);
14947 }
14948 public CloneInstanceContext(ParserRuleContext parent, int invokingState) {
14949 super(parent, invokingState);
14950 }
14951 @Override public int getRuleIndex() { return RULE_cloneInstance; }
14952 @Override
14953 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14954 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCloneInstance(this);
14955 else return visitor.visitChildren(this);
14956 }
14957 }
14958
14959 public final CloneInstanceContext cloneInstance() throws RecognitionException {
14960 CloneInstanceContext _localctx = new CloneInstanceContext(_ctx, getState());
14961 enterRule(_localctx, 276, RULE_cloneInstance);
14962 try {
14963 enterOuterAlt(_localctx, 1);
14964 {
14965 setState(1544);
14966 username();
14967 setState(1545);
14968 match(AT_);
14969 setState(1546);
14970 hostname();
14971 setState(1547);
14972 match(COLON_);
14973 setState(1548);
14974 port();
14975 }
14976 }
14977 catch (RecognitionException re) {
14978 _localctx.exception = re;
14979 _errHandler.reportError(this, re);
14980 _errHandler.recover(this, re);
14981 }
14982 finally {
14983 exitRule();
14984 }
14985 return _localctx;
14986 }
14987
14988 public static class CloneDirContext extends ParserRuleContext {
14989 public String_Context string_() {
14990 return getRuleContext(String_Context.class,0);
14991 }
14992 public CloneDirContext(ParserRuleContext parent, int invokingState) {
14993 super(parent, invokingState);
14994 }
14995 @Override public int getRuleIndex() { return RULE_cloneDir; }
14996 @Override
14997 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14998 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCloneDir(this);
14999 else return visitor.visitChildren(this);
15000 }
15001 }
15002
15003 public final CloneDirContext cloneDir() throws RecognitionException {
15004 CloneDirContext _localctx = new CloneDirContext(_ctx, getState());
15005 enterRule(_localctx, 278, RULE_cloneDir);
15006 try {
15007 enterOuterAlt(_localctx, 1);
15008 {
15009 setState(1550);
15010 string_();
15011 }
15012 }
15013 catch (RecognitionException re) {
15014 _localctx.exception = re;
15015 _errHandler.reportError(this, re);
15016 _errHandler.recover(this, re);
15017 }
15018 finally {
15019 exitRule();
15020 }
15021 return _localctx;
15022 }
15023
15024 public static class ChannelNameContext extends ParserRuleContext {
15025 public List<IdentifierContext> identifier() {
15026 return getRuleContexts(IdentifierContext.class);
15027 }
15028 public IdentifierContext identifier(int i) {
15029 return getRuleContext(IdentifierContext.class,i);
15030 }
15031 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
15032 public ChannelNameContext(ParserRuleContext parent, int invokingState) {
15033 super(parent, invokingState);
15034 }
15035 @Override public int getRuleIndex() { return RULE_channelName; }
15036 @Override
15037 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15038 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitChannelName(this);
15039 else return visitor.visitChildren(this);
15040 }
15041 }
15042
15043 public final ChannelNameContext channelName() throws RecognitionException {
15044 ChannelNameContext _localctx = new ChannelNameContext(_ctx, getState());
15045 enterRule(_localctx, 280, RULE_channelName);
15046 int _la;
15047 try {
15048 enterOuterAlt(_localctx, 1);
15049 {
15050 setState(1552);
15051 identifier();
15052 setState(1555);
15053 _errHandler.sync(this);
15054 _la = _input.LA(1);
15055 if (_la==DOT_) {
15056 {
15057 setState(1553);
15058 match(DOT_);
15059 setState(1554);
15060 identifier();
15061 }
15062 }
15063
15064 }
15065 }
15066 catch (RecognitionException re) {
15067 _localctx.exception = re;
15068 _errHandler.reportError(this, re);
15069 _errHandler.recover(this, re);
15070 }
15071 finally {
15072 exitRule();
15073 }
15074 return _localctx;
15075 }
15076
15077 public static class LogNameContext extends ParserRuleContext {
15078 public StringLiteralsContext stringLiterals() {
15079 return getRuleContext(StringLiteralsContext.class,0);
15080 }
15081 public LogNameContext(ParserRuleContext parent, int invokingState) {
15082 super(parent, invokingState);
15083 }
15084 @Override public int getRuleIndex() { return RULE_logName; }
15085 @Override
15086 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15087 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLogName(this);
15088 else return visitor.visitChildren(this);
15089 }
15090 }
15091
15092 public final LogNameContext logName() throws RecognitionException {
15093 LogNameContext _localctx = new LogNameContext(_ctx, getState());
15094 enterRule(_localctx, 282, RULE_logName);
15095 try {
15096 enterOuterAlt(_localctx, 1);
15097 {
15098 setState(1557);
15099 stringLiterals();
15100 }
15101 }
15102 catch (RecognitionException re) {
15103 _localctx.exception = re;
15104 _errHandler.reportError(this, re);
15105 _errHandler.recover(this, re);
15106 }
15107 finally {
15108 exitRule();
15109 }
15110 return _localctx;
15111 }
15112
15113 public static class RoleNameContext extends ParserRuleContext {
15114 public RoleIdentifierOrTextContext roleIdentifierOrText() {
15115 return getRuleContext(RoleIdentifierOrTextContext.class,0);
15116 }
15117 public TerminalNode AT_() { return getToken(HiveStatementParser.AT_, 0); }
15118 public TextOrIdentifierContext textOrIdentifier() {
15119 return getRuleContext(TextOrIdentifierContext.class,0);
15120 }
15121 public RoleNameContext(ParserRuleContext parent, int invokingState) {
15122 super(parent, invokingState);
15123 }
15124 @Override public int getRuleIndex() { return RULE_roleName; }
15125 @Override
15126 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15127 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitRoleName(this);
15128 else return visitor.visitChildren(this);
15129 }
15130 }
15131
15132 public final RoleNameContext roleName() throws RecognitionException {
15133 RoleNameContext _localctx = new RoleNameContext(_ctx, getState());
15134 enterRule(_localctx, 284, RULE_roleName);
15135 int _la;
15136 try {
15137 enterOuterAlt(_localctx, 1);
15138 {
15139 setState(1559);
15140 roleIdentifierOrText();
15141 setState(1562);
15142 _errHandler.sync(this);
15143 _la = _input.LA(1);
15144 if (_la==AT_) {
15145 {
15146 setState(1560);
15147 match(AT_);
15148 setState(1561);
15149 textOrIdentifier();
15150 }
15151 }
15152
15153 }
15154 }
15155 catch (RecognitionException re) {
15156 _localctx.exception = re;
15157 _errHandler.reportError(this, re);
15158 _errHandler.recover(this, re);
15159 }
15160 finally {
15161 exitRule();
15162 }
15163 return _localctx;
15164 }
15165
15166 public static class RoleIdentifierOrTextContext extends ParserRuleContext {
15167 public IdentifierContext identifier() {
15168 return getRuleContext(IdentifierContext.class,0);
15169 }
15170 public String_Context string_() {
15171 return getRuleContext(String_Context.class,0);
15172 }
15173 public RoleIdentifierOrTextContext(ParserRuleContext parent, int invokingState) {
15174 super(parent, invokingState);
15175 }
15176 @Override public int getRuleIndex() { return RULE_roleIdentifierOrText; }
15177 @Override
15178 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15179 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitRoleIdentifierOrText(this);
15180 else return visitor.visitChildren(this);
15181 }
15182 }
15183
15184 public final RoleIdentifierOrTextContext roleIdentifierOrText() throws RecognitionException {
15185 RoleIdentifierOrTextContext _localctx = new RoleIdentifierOrTextContext(_ctx, getState());
15186 enterRule(_localctx, 286, RULE_roleIdentifierOrText);
15187 try {
15188 setState(1566);
15189 _errHandler.sync(this);
15190 switch ( getInterpreter().adaptivePredict(_input,174,_ctx) ) {
15191 case 1:
15192 enterOuterAlt(_localctx, 1);
15193 {
15194 setState(1564);
15195 identifier();
15196 }
15197 break;
15198 case 2:
15199 enterOuterAlt(_localctx, 2);
15200 {
15201 setState(1565);
15202 string_();
15203 }
15204 break;
15205 }
15206 }
15207 catch (RecognitionException re) {
15208 _localctx.exception = re;
15209 _errHandler.reportError(this, re);
15210 _errHandler.recover(this, re);
15211 }
15212 finally {
15213 exitRule();
15214 }
15215 return _localctx;
15216 }
15217
15218 public static class EngineRefContext extends ParserRuleContext {
15219 public TextOrIdentifierContext textOrIdentifier() {
15220 return getRuleContext(TextOrIdentifierContext.class,0);
15221 }
15222 public EngineRefContext(ParserRuleContext parent, int invokingState) {
15223 super(parent, invokingState);
15224 }
15225 @Override public int getRuleIndex() { return RULE_engineRef; }
15226 @Override
15227 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15228 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitEngineRef(this);
15229 else return visitor.visitChildren(this);
15230 }
15231 }
15232
15233 public final EngineRefContext engineRef() throws RecognitionException {
15234 EngineRefContext _localctx = new EngineRefContext(_ctx, getState());
15235 enterRule(_localctx, 288, RULE_engineRef);
15236 try {
15237 enterOuterAlt(_localctx, 1);
15238 {
15239 setState(1568);
15240 textOrIdentifier();
15241 }
15242 }
15243 catch (RecognitionException re) {
15244 _localctx.exception = re;
15245 _errHandler.reportError(this, re);
15246 _errHandler.recover(this, re);
15247 }
15248 finally {
15249 exitRule();
15250 }
15251 return _localctx;
15252 }
15253
15254 public static class TriggerNameContext extends ParserRuleContext {
15255 public List<IdentifierContext> identifier() {
15256 return getRuleContexts(IdentifierContext.class);
15257 }
15258 public IdentifierContext identifier(int i) {
15259 return getRuleContext(IdentifierContext.class,i);
15260 }
15261 public TerminalNode DOT_() { return getToken(HiveStatementParser.DOT_, 0); }
15262 public TriggerNameContext(ParserRuleContext parent, int invokingState) {
15263 super(parent, invokingState);
15264 }
15265 @Override public int getRuleIndex() { return RULE_triggerName; }
15266 @Override
15267 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15268 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTriggerName(this);
15269 else return visitor.visitChildren(this);
15270 }
15271 }
15272
15273 public final TriggerNameContext triggerName() throws RecognitionException {
15274 TriggerNameContext _localctx = new TriggerNameContext(_ctx, getState());
15275 enterRule(_localctx, 290, RULE_triggerName);
15276 int _la;
15277 try {
15278 enterOuterAlt(_localctx, 1);
15279 {
15280 setState(1570);
15281 identifier();
15282 setState(1573);
15283 _errHandler.sync(this);
15284 _la = _input.LA(1);
15285 if (_la==DOT_) {
15286 {
15287 setState(1571);
15288 match(DOT_);
15289 setState(1572);
15290 identifier();
15291 }
15292 }
15293
15294 }
15295 }
15296 catch (RecognitionException re) {
15297 _localctx.exception = re;
15298 _errHandler.reportError(this, re);
15299 _errHandler.recover(this, re);
15300 }
15301 finally {
15302 exitRule();
15303 }
15304 return _localctx;
15305 }
15306
15307 public static class TriggerTimeContext extends ParserRuleContext {
15308 public TerminalNode BEFORE() { return getToken(HiveStatementParser.BEFORE, 0); }
15309 public TerminalNode AFTER() { return getToken(HiveStatementParser.AFTER, 0); }
15310 public TriggerTimeContext(ParserRuleContext parent, int invokingState) {
15311 super(parent, invokingState);
15312 }
15313 @Override public int getRuleIndex() { return RULE_triggerTime; }
15314 @Override
15315 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15316 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTriggerTime(this);
15317 else return visitor.visitChildren(this);
15318 }
15319 }
15320
15321 public final TriggerTimeContext triggerTime() throws RecognitionException {
15322 TriggerTimeContext _localctx = new TriggerTimeContext(_ctx, getState());
15323 enterRule(_localctx, 292, RULE_triggerTime);
15324 int _la;
15325 try {
15326 enterOuterAlt(_localctx, 1);
15327 {
15328 setState(1575);
15329 _la = _input.LA(1);
15330 if ( !(_la==AFTER || _la==BEFORE) ) {
15331 _errHandler.recoverInline(this);
15332 }
15333 else {
15334 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15335 _errHandler.reportMatch(this);
15336 consume();
15337 }
15338 }
15339 }
15340 catch (RecognitionException re) {
15341 _localctx.exception = re;
15342 _errHandler.reportError(this, re);
15343 _errHandler.recover(this, re);
15344 }
15345 finally {
15346 exitRule();
15347 }
15348 return _localctx;
15349 }
15350
15351 public static class TableOrTablesContext extends ParserRuleContext {
15352 public TerminalNode TABLE() { return getToken(HiveStatementParser.TABLE, 0); }
15353 public TerminalNode TABLES() { return getToken(HiveStatementParser.TABLES, 0); }
15354 public TableOrTablesContext(ParserRuleContext parent, int invokingState) {
15355 super(parent, invokingState);
15356 }
15357 @Override public int getRuleIndex() { return RULE_tableOrTables; }
15358 @Override
15359 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15360 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTableOrTables(this);
15361 else return visitor.visitChildren(this);
15362 }
15363 }
15364
15365 public final TableOrTablesContext tableOrTables() throws RecognitionException {
15366 TableOrTablesContext _localctx = new TableOrTablesContext(_ctx, getState());
15367 enterRule(_localctx, 294, RULE_tableOrTables);
15368 int _la;
15369 try {
15370 enterOuterAlt(_localctx, 1);
15371 {
15372 setState(1577);
15373 _la = _input.LA(1);
15374 if ( !(_la==TABLE || _la==TABLES) ) {
15375 _errHandler.recoverInline(this);
15376 }
15377 else {
15378 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15379 _errHandler.reportMatch(this);
15380 consume();
15381 }
15382 }
15383 }
15384 catch (RecognitionException re) {
15385 _localctx.exception = re;
15386 _errHandler.reportError(this, re);
15387 _errHandler.recover(this, re);
15388 }
15389 finally {
15390 exitRule();
15391 }
15392 return _localctx;
15393 }
15394
15395 public static class UserOrRoleContext extends ParserRuleContext {
15396 public UsernameContext username() {
15397 return getRuleContext(UsernameContext.class,0);
15398 }
15399 public RoleNameContext roleName() {
15400 return getRuleContext(RoleNameContext.class,0);
15401 }
15402 public UserOrRoleContext(ParserRuleContext parent, int invokingState) {
15403 super(parent, invokingState);
15404 }
15405 @Override public int getRuleIndex() { return RULE_userOrRole; }
15406 @Override
15407 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15408 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitUserOrRole(this);
15409 else return visitor.visitChildren(this);
15410 }
15411 }
15412
15413 public final UserOrRoleContext userOrRole() throws RecognitionException {
15414 UserOrRoleContext _localctx = new UserOrRoleContext(_ctx, getState());
15415 enterRule(_localctx, 296, RULE_userOrRole);
15416 try {
15417 setState(1581);
15418 _errHandler.sync(this);
15419 switch ( getInterpreter().adaptivePredict(_input,176,_ctx) ) {
15420 case 1:
15421 enterOuterAlt(_localctx, 1);
15422 {
15423 setState(1579);
15424 username();
15425 }
15426 break;
15427 case 2:
15428 enterOuterAlt(_localctx, 2);
15429 {
15430 setState(1580);
15431 roleName();
15432 }
15433 break;
15434 }
15435 }
15436 catch (RecognitionException re) {
15437 _localctx.exception = re;
15438 _errHandler.reportError(this, re);
15439 _errHandler.recover(this, re);
15440 }
15441 finally {
15442 exitRule();
15443 }
15444 return _localctx;
15445 }
15446
15447 public static class PartitionNameContext extends ParserRuleContext {
15448 public IdentifierContext identifier() {
15449 return getRuleContext(IdentifierContext.class,0);
15450 }
15451 public PartitionNameContext(ParserRuleContext parent, int invokingState) {
15452 super(parent, invokingState);
15453 }
15454 @Override public int getRuleIndex() { return RULE_partitionName; }
15455 @Override
15456 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15457 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitPartitionName(this);
15458 else return visitor.visitChildren(this);
15459 }
15460 }
15461
15462 public final PartitionNameContext partitionName() throws RecognitionException {
15463 PartitionNameContext _localctx = new PartitionNameContext(_ctx, getState());
15464 enterRule(_localctx, 298, RULE_partitionName);
15465 try {
15466 enterOuterAlt(_localctx, 1);
15467 {
15468 setState(1583);
15469 identifier();
15470 }
15471 }
15472 catch (RecognitionException re) {
15473 _localctx.exception = re;
15474 _errHandler.reportError(this, re);
15475 _errHandler.recover(this, re);
15476 }
15477 finally {
15478 exitRule();
15479 }
15480 return _localctx;
15481 }
15482
15483 public static class IdentifierListContext extends ParserRuleContext {
15484 public List<IdentifierContext> identifier() {
15485 return getRuleContexts(IdentifierContext.class);
15486 }
15487 public IdentifierContext identifier(int i) {
15488 return getRuleContext(IdentifierContext.class,i);
15489 }
15490 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
15491 public TerminalNode COMMA_(int i) {
15492 return getToken(HiveStatementParser.COMMA_, i);
15493 }
15494 public IdentifierListContext(ParserRuleContext parent, int invokingState) {
15495 super(parent, invokingState);
15496 }
15497 @Override public int getRuleIndex() { return RULE_identifierList; }
15498 @Override
15499 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15500 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIdentifierList(this);
15501 else return visitor.visitChildren(this);
15502 }
15503 }
15504
15505 public final IdentifierListContext identifierList() throws RecognitionException {
15506 IdentifierListContext _localctx = new IdentifierListContext(_ctx, getState());
15507 enterRule(_localctx, 300, RULE_identifierList);
15508 int _la;
15509 try {
15510 enterOuterAlt(_localctx, 1);
15511 {
15512 setState(1585);
15513 identifier();
15514 setState(1590);
15515 _errHandler.sync(this);
15516 _la = _input.LA(1);
15517 while (_la==COMMA_) {
15518 {
15519 {
15520 setState(1586);
15521 match(COMMA_);
15522 setState(1587);
15523 identifier();
15524 }
15525 }
15526 setState(1592);
15527 _errHandler.sync(this);
15528 _la = _input.LA(1);
15529 }
15530 }
15531 }
15532 catch (RecognitionException re) {
15533 _localctx.exception = re;
15534 _errHandler.reportError(this, re);
15535 _errHandler.recover(this, re);
15536 }
15537 finally {
15538 exitRule();
15539 }
15540 return _localctx;
15541 }
15542
15543 public static class AllOrPartitionNameListContext extends ParserRuleContext {
15544 public TerminalNode ALL() { return getToken(HiveStatementParser.ALL, 0); }
15545 public IdentifierListContext identifierList() {
15546 return getRuleContext(IdentifierListContext.class,0);
15547 }
15548 public AllOrPartitionNameListContext(ParserRuleContext parent, int invokingState) {
15549 super(parent, invokingState);
15550 }
15551 @Override public int getRuleIndex() { return RULE_allOrPartitionNameList; }
15552 @Override
15553 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15554 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitAllOrPartitionNameList(this);
15555 else return visitor.visitChildren(this);
15556 }
15557 }
15558
15559 public final AllOrPartitionNameListContext allOrPartitionNameList() throws RecognitionException {
15560 AllOrPartitionNameListContext _localctx = new AllOrPartitionNameListContext(_ctx, getState());
15561 enterRule(_localctx, 302, RULE_allOrPartitionNameList);
15562 try {
15563 setState(1595);
15564 _errHandler.sync(this);
15565 switch (_input.LA(1)) {
15566 case ALL:
15567 enterOuterAlt(_localctx, 1);
15568 {
15569 setState(1593);
15570 match(ALL);
15571 }
15572 break;
15573 case MAX:
15574 case MIN:
15575 case SUM:
15576 case COUNT:
15577 case GROUP_CONCAT:
15578 case CAST:
15579 case POSITION:
15580 case SUBSTRING:
15581 case SUBSTR:
15582 case EXTRACT:
15583 case TRIM:
15584 case LAST_DAY:
15585 case TRADITIONAL:
15586 case TREE:
15587 case MYSQL_MAIN:
15588 case MYSQL_ADMIN:
15589 case INSTANT:
15590 case INPLACE:
15591 case COPY:
15592 case UL_BINARY:
15593 case AUTOCOMMIT:
15594 case INNODB:
15595 case REDO_LOG:
15596 case ACCOUNT:
15597 case ACTION:
15598 case ACTIVE:
15599 case ADMIN:
15600 case AFTER:
15601 case AGAINST:
15602 case AGGREGATE:
15603 case ALGORITHM:
15604 case ALWAYS:
15605 case ANY:
15606 case ARRAY:
15607 case ASCII:
15608 case AT:
15609 case ATTRIBUTE:
15610 case AUTOEXTEND_SIZE:
15611 case AUTO_INCREMENT:
15612 case AVG:
15613 case BIT_XOR:
15614 case AVG_ROW_LENGTH:
15615 case BACKUP:
15616 case BEGIN:
15617 case BINLOG:
15618 case BIT:
15619 case BLOCK:
15620 case BOOL:
15621 case BOOLEAN:
15622 case BTREE:
15623 case BUCKETS:
15624 case BYTE:
15625 case CACHE:
15626 case CASCADED:
15627 case CATALOG_NAME:
15628 case CHAIN:
15629 case CHANGED:
15630 case CHANNEL:
15631 case CHARSET:
15632 case CHECKSUM:
15633 case CIPHER:
15634 case CLASS_ORIGIN:
15635 case CLIENT:
15636 case CLONE:
15637 case CLOSE:
15638 case COALESCE:
15639 case CODE:
15640 case COLLATION:
15641 case COLUMNS:
15642 case COLUMN_FORMAT:
15643 case COLUMN_NAME:
15644 case COMMENT:
15645 case COMMIT:
15646 case COMMITTED:
15647 case COMPACT:
15648 case COMPLETION:
15649 case COMPONENT:
15650 case COMPRESSED:
15651 case COMPRESSION:
15652 case CONCURRENT:
15653 case CONNECTION:
15654 case CONSISTENT:
15655 case CONSTRAINT_CATALOG:
15656 case CONSTRAINT_NAME:
15657 case CONSTRAINT_SCHEMA:
15658 case CONTAINS:
15659 case CONTEXT:
15660 case CPU:
15661 case CREATE:
15662 case CURRENT:
15663 case CURSOR_NAME:
15664 case DATA:
15665 case DATAFILE:
15666 case DATE:
15667 case DATETIME:
15668 case DAY:
15669 case DAY_MINUTE:
15670 case DEALLOCATE:
15671 case DEFAULT_AUTH:
15672 case DEFINER:
15673 case DEFINITION:
15674 case DELAY_KEY_WRITE:
15675 case DESCRIPTION:
15676 case DIAGNOSTICS:
15677 case DIRECTORY:
15678 case DISABLE:
15679 case DISCARD:
15680 case DISK:
15681 case DO:
15682 case DUMPFILE:
15683 case DUPLICATE:
15684 case DYNAMIC:
15685 case ENABLE:
15686 case ENCRYPTION:
15687 case END:
15688 case ENDS:
15689 case ENFORCED:
15690 case ENGINE:
15691 case ENGINES:
15692 case ENGINE_ATTRIBUTE:
15693 case ENUM:
15694 case ERROR:
15695 case ERRORS:
15696 case ESCAPE:
15697 case EVENT:
15698 case EVENTS:
15699 case EVERY:
15700 case EXCHANGE:
15701 case EXCLUDE:
15702 case EXECUTE:
15703 case EXPANSION:
15704 case EXPIRE:
15705 case EXPORT:
15706 case EXTENDED:
15707 case EXTENT_SIZE:
15708 case FAILED_LOGIN_ATTEMPTS:
15709 case FAST:
15710 case FAULTS:
15711 case FILE:
15712 case FILE_BLOCK_SIZE:
15713 case FILTER:
15714 case FIRST:
15715 case FIXED:
15716 case FLUSH:
15717 case FOLLOWING:
15718 case FOLLOWS:
15719 case FORMAT:
15720 case FOUND:
15721 case FULL:
15722 case GENERAL:
15723 case GEOMETRY:
15724 case GEOMETRYCOLLECTION:
15725 case GET_FORMAT:
15726 case GET_MASTER_PUBLIC_KEY:
15727 case GLOBAL:
15728 case GRANTS:
15729 case GROUP_REPLICATION:
15730 case HANDLER:
15731 case HASH:
15732 case HELP:
15733 case HISTOGRAM:
15734 case HISTORY:
15735 case HOST:
15736 case HOSTS:
15737 case HOUR:
15738 case IDENTIFIED:
15739 case IGNORE_SERVER_IDS:
15740 case IMPORT:
15741 case INACTIVE:
15742 case INDEXES:
15743 case INITIAL_SIZE:
15744 case INSERT_METHOD:
15745 case INSTALL:
15746 case INSTANCE:
15747 case INVISIBLE:
15748 case INVOKER:
15749 case IO:
15750 case IPC:
15751 case ISOLATION:
15752 case ISSUER:
15753 case JSON:
15754 case JSON_VALUE:
15755 case KEY:
15756 case KEY_BLOCK_SIZE:
15757 case LANGUAGE:
15758 case LAST:
15759 case LAST_VALUE:
15760 case LEAVES:
15761 case LESS:
15762 case LEVEL:
15763 case LINESTRING:
15764 case LIST:
15765 case LOCAL:
15766 case LOCKED:
15767 case LOCKS:
15768 case LOGFILE:
15769 case LOGS:
15770 case MASTER:
15771 case MASTER_AUTO_POSITION:
15772 case MASTER_COMPRESSION_ALGORITHM:
15773 case MASTER_CONNECT_RETRY:
15774 case MASTER_DELAY:
15775 case MASTER_HEARTBEAT_PERIOD:
15776 case MASTER_HOST:
15777 case MASTER_LOG_FILE:
15778 case MASTER_LOG_POS:
15779 case MASTER_PASSWORD:
15780 case MASTER_PORT:
15781 case MASTER_PUBLIC_KEY_PATH:
15782 case MASTER_RETRY_COUNT:
15783 case MASTER_SERVER_ID:
15784 case MASTER_SSL:
15785 case MASTER_SSL_CA:
15786 case MASTER_SSL_CAPATH:
15787 case MASTER_SSL_CERT:
15788 case MASTER_SSL_CIPHER:
15789 case MASTER_SSL_CRL:
15790 case MASTER_SSL_CRLPATH:
15791 case MASTER_SSL_KEY:
15792 case MASTER_TLS_CIPHERSUITES:
15793 case MASTER_TLS_VERSION:
15794 case MASTER_USER:
15795 case MASTER_ZSTD_COMPRESSION_LEVEL:
15796 case MAXVALUE:
15797 case MAX_CONNECTIONS_PER_HOUR:
15798 case MAX_QUERIES_PER_HOUR:
15799 case MAX_ROWS:
15800 case MAX_SIZE:
15801 case MAX_UPDATES_PER_HOUR:
15802 case MAX_USER_CONNECTIONS:
15803 case MEDIUM:
15804 case MEMBER:
15805 case MEMORY:
15806 case MERGE:
15807 case MESSAGE_TEXT:
15808 case MICROSECOND:
15809 case MIGRATE:
15810 case MINUTE:
15811 case MIN_ROWS:
15812 case MODE:
15813 case MODIFY:
15814 case MONTH:
15815 case MULTILINESTRING:
15816 case MULTIPOINT:
15817 case MULTIPOLYGON:
15818 case MUTEX:
15819 case MYSQL_ERRNO:
15820 case NAME:
15821 case NAMES:
15822 case NATIONAL:
15823 case NCHAR:
15824 case NDBCLUSTER:
15825 case NESTED:
15826 case NETWORK_NAMESPACE:
15827 case NEVER:
15828 case NEW:
15829 case NEXT:
15830 case NO:
15831 case NODEGROUP:
15832 case NONE:
15833 case NOWAIT:
15834 case NO_WAIT:
15835 case NULLS:
15836 case NUMBER:
15837 case NVARCHAR:
15838 case OFF:
15839 case OFFSET:
15840 case OJ:
15841 case OLD:
15842 case ONE:
15843 case ONLY:
15844 case OPEN:
15845 case OPTIONAL:
15846 case OPTIONS:
15847 case ORDINALITY:
15848 case ORGANIZATION:
15849 case OTHERS:
15850 case OWNER:
15851 case PACK_KEYS:
15852 case PAGE:
15853 case PARSER:
15854 case PARTIAL:
15855 case PARTITIONING:
15856 case PARTITIONS:
15857 case PASSWORD:
15858 case PASSWORD_LOCK_TIME:
15859 case PATH:
15860 case PERSIST:
15861 case PERSIST_ONLY:
15862 case PHASE:
15863 case PLUGIN:
15864 case PLUGINS:
15865 case PLUGIN_DIR:
15866 case POINT:
15867 case POLYGON:
15868 case PORT:
15869 case PRECEDES:
15870 case PRECEDING:
15871 case PREPARE:
15872 case PRESERVE:
15873 case PREV:
15874 case PRIMARY:
15875 case PRIVILEGES:
15876 case PRIVILEGE_CHECKS_USER:
15877 case PROCESS:
15878 case PROCESSLIST:
15879 case PROFILE:
15880 case PROFILES:
15881 case PROXY:
15882 case QUARTER:
15883 case QUERY:
15884 case QUICK:
15885 case RANDOM:
15886 case READ_ONLY:
15887 case REBUILD:
15888 case RECOVER:
15889 case REDO_BUFFER_SIZE:
15890 case REDUNDANT:
15891 case REFERENCE:
15892 case RELAY:
15893 case RELAYLOG:
15894 case RELAY_LOG_FILE:
15895 case RELAY_LOG_POS:
15896 case RELAY_THREAD:
15897 case RELOAD:
15898 case REMOVE:
15899 case REORGANIZE:
15900 case REPAIR:
15901 case REPEATABLE:
15902 case REPLICATE_DO_DB:
15903 case REPLICATE_DO_TABLE:
15904 case REPLICATE_IGNORE_DB:
15905 case REPLICATE_IGNORE_TABLE:
15906 case REPLICATE_REWRITE_DB:
15907 case REPLICATE_WILD_DO_TABLE:
15908 case REPLICATE_WILD_IGNORE_TABLE:
15909 case REPLICATION:
15910 case REQUIRE_ROW_FORMAT:
15911 case RESET:
15912 case RESOURCE:
15913 case RESPECT:
15914 case RESTART:
15915 case RESTORE:
15916 case RESUME:
15917 case RETAIN:
15918 case RETURNED_SQLSTATE:
15919 case RETURNING:
15920 case RETURNS:
15921 case REUSE:
15922 case REVERSE:
15923 case ROLE:
15924 case ROLLBACK:
15925 case ROLLUP:
15926 case ROTATE:
15927 case ROUTINE:
15928 case ROW_COUNT:
15929 case ROW_FORMAT:
15930 case RTREE:
15931 case SAVEPOINT:
15932 case SCHEDULE:
15933 case SCHEMA_NAME:
15934 case SECOND:
15935 case SECONDARY:
15936 case SECONDARY_ENGINE:
15937 case SECONDARY_ENGINE_ATTRIBUTE:
15938 case SECONDARY_LOAD:
15939 case SECONDARY_UNLOAD:
15940 case SECURITY:
15941 case SERIAL:
15942 case SERIALIZABLE:
15943 case SERVER:
15944 case SESSION:
15945 case SHARE:
15946 case SHUTDOWN:
15947 case SIGNED:
15948 case SIMPLE:
15949 case SLAVE:
15950 case SLOW:
15951 case SNAPSHOT:
15952 case SOCKET:
15953 case SONAME:
15954 case SOUNDS:
15955 case SOURCE:
15956 case SQL_AFTER_GTIDS:
15957 case SQL_AFTER_MTS_GAPS:
15958 case SQL_BEFORE_GTIDS:
15959 case SQL_BUFFER_RESULT:
15960 case SQL_NO_CACHE:
15961 case SQL_THREAD:
15962 case SRID:
15963 case STACKED:
15964 case START:
15965 case STARTS:
15966 case STATS_AUTO_RECALC:
15967 case STATS_PERSISTENT:
15968 case STATS_SAMPLE_PAGES:
15969 case STATUS:
15970 case STOP:
15971 case STORAGE:
15972 case STREAM:
15973 case STRING:
15974 case SUBCLASS_ORIGIN:
15975 case SUBJECT:
15976 case SUBPARTITION:
15977 case SUBPARTITIONS:
15978 case SUPER:
15979 case SUSPEND:
15980 case SWAPS:
15981 case SWITCHES:
15982 case SYSTEM:
15983 case TABLE:
15984 case TABLES:
15985 case TABLESPACE:
15986 case TABLE_CHECKSUM:
15987 case TABLE_NAME:
15988 case TEMPORARY:
15989 case TEMPTABLE:
15990 case TEXT:
15991 case THAN:
15992 case THREAD_PRIORITY:
15993 case TIES:
15994 case TIME:
15995 case TIMESTAMP:
15996 case TIMESTAMP_ADD:
15997 case TIMESTAMP_DIFF:
15998 case TLS:
15999 case TRANSACTION:
16000 case TRIGGERS:
16001 case TRUNCATE:
16002 case TYPE:
16003 case TYPES:
16004 case UNBOUNDED:
16005 case UNCOMMITTED:
16006 case UNDEFINED:
16007 case UNDOFILE:
16008 case UNDO_BUFFER_SIZE:
16009 case UNICODE:
16010 case UNINSTALL:
16011 case UNKNOWN:
16012 case UNTIL:
16013 case UPGRADE:
16014 case USER:
16015 case USER_RESOURCES:
16016 case USE_FRM:
16017 case UTC_DATE:
16018 case UTC_TIME:
16019 case UTC_TIMESTAMP:
16020 case VALIDATION:
16021 case VALUE:
16022 case VARIABLES:
16023 case VCPU:
16024 case VIEW:
16025 case VISIBLE:
16026 case WAIT:
16027 case WARNINGS:
16028 case WEEK:
16029 case WEIGHT_STRING:
16030 case WITHOUT:
16031 case WORK:
16032 case WRAPPER:
16033 case X509:
16034 case XA:
16035 case XID:
16036 case XML:
16037 case YEAR:
16038 case YEAR_MONTH:
16039 case DOUBLE_QUOTED_TEXT:
16040 case BQUOTA_STRING:
16041 case UNDERSCORE_CHARSET:
16042 case IDENTIFIER_:
16043 enterOuterAlt(_localctx, 2);
16044 {
16045 setState(1594);
16046 identifierList();
16047 }
16048 break;
16049 default:
16050 throw new NoViableAltException(this);
16051 }
16052 }
16053 catch (RecognitionException re) {
16054 _localctx.exception = re;
16055 _errHandler.reportError(this, re);
16056 _errHandler.recover(this, re);
16057 }
16058 finally {
16059 exitRule();
16060 }
16061 return _localctx;
16062 }
16063
16064 public static class TriggerEventContext extends ParserRuleContext {
16065 public TerminalNode INSERT() { return getToken(HiveStatementParser.INSERT, 0); }
16066 public TerminalNode UPDATE() { return getToken(HiveStatementParser.UPDATE, 0); }
16067 public TerminalNode DELETE() { return getToken(HiveStatementParser.DELETE, 0); }
16068 public TriggerEventContext(ParserRuleContext parent, int invokingState) {
16069 super(parent, invokingState);
16070 }
16071 @Override public int getRuleIndex() { return RULE_triggerEvent; }
16072 @Override
16073 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16074 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTriggerEvent(this);
16075 else return visitor.visitChildren(this);
16076 }
16077 }
16078
16079 public final TriggerEventContext triggerEvent() throws RecognitionException {
16080 TriggerEventContext _localctx = new TriggerEventContext(_ctx, getState());
16081 enterRule(_localctx, 304, RULE_triggerEvent);
16082 int _la;
16083 try {
16084 enterOuterAlt(_localctx, 1);
16085 {
16086 setState(1597);
16087 _la = _input.LA(1);
16088 if ( !(_la==DELETE || _la==INSERT || _la==UPDATE) ) {
16089 _errHandler.recoverInline(this);
16090 }
16091 else {
16092 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16093 _errHandler.reportMatch(this);
16094 consume();
16095 }
16096 }
16097 }
16098 catch (RecognitionException re) {
16099 _localctx.exception = re;
16100 _errHandler.reportError(this, re);
16101 _errHandler.recover(this, re);
16102 }
16103 finally {
16104 exitRule();
16105 }
16106 return _localctx;
16107 }
16108
16109 public static class TriggerOrderContext extends ParserRuleContext {
16110 public TriggerNameContext triggerName() {
16111 return getRuleContext(TriggerNameContext.class,0);
16112 }
16113 public TerminalNode FOLLOWS() { return getToken(HiveStatementParser.FOLLOWS, 0); }
16114 public TerminalNode PRECEDES() { return getToken(HiveStatementParser.PRECEDES, 0); }
16115 public TriggerOrderContext(ParserRuleContext parent, int invokingState) {
16116 super(parent, invokingState);
16117 }
16118 @Override public int getRuleIndex() { return RULE_triggerOrder; }
16119 @Override
16120 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16121 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTriggerOrder(this);
16122 else return visitor.visitChildren(this);
16123 }
16124 }
16125
16126 public final TriggerOrderContext triggerOrder() throws RecognitionException {
16127 TriggerOrderContext _localctx = new TriggerOrderContext(_ctx, getState());
16128 enterRule(_localctx, 306, RULE_triggerOrder);
16129 int _la;
16130 try {
16131 enterOuterAlt(_localctx, 1);
16132 {
16133 setState(1599);
16134 _la = _input.LA(1);
16135 if ( !(_la==FOLLOWS || _la==PRECEDES) ) {
16136 _errHandler.recoverInline(this);
16137 }
16138 else {
16139 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16140 _errHandler.reportMatch(this);
16141 consume();
16142 }
16143 setState(1600);
16144 triggerName();
16145 }
16146 }
16147 catch (RecognitionException re) {
16148 _localctx.exception = re;
16149 _errHandler.reportError(this, re);
16150 _errHandler.recover(this, re);
16151 }
16152 finally {
16153 exitRule();
16154 }
16155 return _localctx;
16156 }
16157
16158 public static class ExprContext extends ParserRuleContext {
16159 public BooleanPrimaryContext booleanPrimary() {
16160 return getRuleContext(BooleanPrimaryContext.class,0);
16161 }
16162 public NotOperatorContext notOperator() {
16163 return getRuleContext(NotOperatorContext.class,0);
16164 }
16165 public List<ExprContext> expr() {
16166 return getRuleContexts(ExprContext.class);
16167 }
16168 public ExprContext expr(int i) {
16169 return getRuleContext(ExprContext.class,i);
16170 }
16171 public AndOperatorContext andOperator() {
16172 return getRuleContext(AndOperatorContext.class,0);
16173 }
16174 public OrOperatorContext orOperator() {
16175 return getRuleContext(OrOperatorContext.class,0);
16176 }
16177 public TerminalNode XOR() { return getToken(HiveStatementParser.XOR, 0); }
16178 public ExprContext(ParserRuleContext parent, int invokingState) {
16179 super(parent, invokingState);
16180 }
16181 @Override public int getRuleIndex() { return RULE_expr; }
16182 @Override
16183 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16184 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitExpr(this);
16185 else return visitor.visitChildren(this);
16186 }
16187 }
16188
16189 public final ExprContext expr() throws RecognitionException {
16190 return expr(0);
16191 }
16192
16193 private ExprContext expr(int _p) throws RecognitionException {
16194 ParserRuleContext _parentctx = _ctx;
16195 int _parentState = getState();
16196 ExprContext _localctx = new ExprContext(_ctx, _parentState);
16197 ExprContext _prevctx = _localctx;
16198 int _startState = 308;
16199 enterRecursionRule(_localctx, 308, RULE_expr, _p);
16200 try {
16201 int _alt;
16202 enterOuterAlt(_localctx, 1);
16203 {
16204 setState(1607);
16205 _errHandler.sync(this);
16206 switch ( getInterpreter().adaptivePredict(_input,179,_ctx) ) {
16207 case 1:
16208 {
16209 setState(1603);
16210 booleanPrimary(0);
16211 }
16212 break;
16213 case 2:
16214 {
16215 setState(1604);
16216 notOperator();
16217 setState(1605);
16218 expr(1);
16219 }
16220 break;
16221 }
16222 _ctx.stop = _input.LT(-1);
16223 setState(1622);
16224 _errHandler.sync(this);
16225 _alt = getInterpreter().adaptivePredict(_input,181,_ctx);
16226 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
16227 if ( _alt==1 ) {
16228 if ( _parseListeners!=null ) triggerExitRuleEvent();
16229 _prevctx = _localctx;
16230 {
16231 setState(1620);
16232 _errHandler.sync(this);
16233 switch ( getInterpreter().adaptivePredict(_input,180,_ctx) ) {
16234 case 1:
16235 {
16236 _localctx = new ExprContext(_parentctx, _parentState);
16237 pushNewRecursionContext(_localctx, _startState, RULE_expr);
16238 setState(1609);
16239 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
16240 setState(1610);
16241 andOperator();
16242 setState(1611);
16243 expr(5);
16244 }
16245 break;
16246 case 2:
16247 {
16248 _localctx = new ExprContext(_parentctx, _parentState);
16249 pushNewRecursionContext(_localctx, _startState, RULE_expr);
16250 setState(1613);
16251 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
16252 setState(1614);
16253 orOperator();
16254 setState(1615);
16255 expr(4);
16256 }
16257 break;
16258 case 3:
16259 {
16260 _localctx = new ExprContext(_parentctx, _parentState);
16261 pushNewRecursionContext(_localctx, _startState, RULE_expr);
16262 setState(1617);
16263 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
16264 setState(1618);
16265 match(XOR);
16266 setState(1619);
16267 expr(3);
16268 }
16269 break;
16270 }
16271 }
16272 }
16273 setState(1624);
16274 _errHandler.sync(this);
16275 _alt = getInterpreter().adaptivePredict(_input,181,_ctx);
16276 }
16277 }
16278 }
16279 catch (RecognitionException re) {
16280 _localctx.exception = re;
16281 _errHandler.reportError(this, re);
16282 _errHandler.recover(this, re);
16283 }
16284 finally {
16285 unrollRecursionContexts(_parentctx);
16286 }
16287 return _localctx;
16288 }
16289
16290 public static class AndOperatorContext extends ParserRuleContext {
16291 public TerminalNode AND() { return getToken(HiveStatementParser.AND, 0); }
16292 public TerminalNode AND_() { return getToken(HiveStatementParser.AND_, 0); }
16293 public AndOperatorContext(ParserRuleContext parent, int invokingState) {
16294 super(parent, invokingState);
16295 }
16296 @Override public int getRuleIndex() { return RULE_andOperator; }
16297 @Override
16298 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16299 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitAndOperator(this);
16300 else return visitor.visitChildren(this);
16301 }
16302 }
16303
16304 public final AndOperatorContext andOperator() throws RecognitionException {
16305 AndOperatorContext _localctx = new AndOperatorContext(_ctx, getState());
16306 enterRule(_localctx, 310, RULE_andOperator);
16307 int _la;
16308 try {
16309 enterOuterAlt(_localctx, 1);
16310 {
16311 setState(1625);
16312 _la = _input.LA(1);
16313 if ( !(_la==AND_ || _la==AND) ) {
16314 _errHandler.recoverInline(this);
16315 }
16316 else {
16317 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16318 _errHandler.reportMatch(this);
16319 consume();
16320 }
16321 }
16322 }
16323 catch (RecognitionException re) {
16324 _localctx.exception = re;
16325 _errHandler.reportError(this, re);
16326 _errHandler.recover(this, re);
16327 }
16328 finally {
16329 exitRule();
16330 }
16331 return _localctx;
16332 }
16333
16334 public static class OrOperatorContext extends ParserRuleContext {
16335 public TerminalNode OR() { return getToken(HiveStatementParser.OR, 0); }
16336 public TerminalNode OR_() { return getToken(HiveStatementParser.OR_, 0); }
16337 public OrOperatorContext(ParserRuleContext parent, int invokingState) {
16338 super(parent, invokingState);
16339 }
16340 @Override public int getRuleIndex() { return RULE_orOperator; }
16341 @Override
16342 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16343 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitOrOperator(this);
16344 else return visitor.visitChildren(this);
16345 }
16346 }
16347
16348 public final OrOperatorContext orOperator() throws RecognitionException {
16349 OrOperatorContext _localctx = new OrOperatorContext(_ctx, getState());
16350 enterRule(_localctx, 312, RULE_orOperator);
16351 int _la;
16352 try {
16353 enterOuterAlt(_localctx, 1);
16354 {
16355 setState(1627);
16356 _la = _input.LA(1);
16357 if ( !(_la==OR_ || _la==OR) ) {
16358 _errHandler.recoverInline(this);
16359 }
16360 else {
16361 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16362 _errHandler.reportMatch(this);
16363 consume();
16364 }
16365 }
16366 }
16367 catch (RecognitionException re) {
16368 _localctx.exception = re;
16369 _errHandler.reportError(this, re);
16370 _errHandler.recover(this, re);
16371 }
16372 finally {
16373 exitRule();
16374 }
16375 return _localctx;
16376 }
16377
16378 public static class NotOperatorContext extends ParserRuleContext {
16379 public TerminalNode NOT() { return getToken(HiveStatementParser.NOT, 0); }
16380 public TerminalNode NOT_() { return getToken(HiveStatementParser.NOT_, 0); }
16381 public NotOperatorContext(ParserRuleContext parent, int invokingState) {
16382 super(parent, invokingState);
16383 }
16384 @Override public int getRuleIndex() { return RULE_notOperator; }
16385 @Override
16386 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16387 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitNotOperator(this);
16388 else return visitor.visitChildren(this);
16389 }
16390 }
16391
16392 public final NotOperatorContext notOperator() throws RecognitionException {
16393 NotOperatorContext _localctx = new NotOperatorContext(_ctx, getState());
16394 enterRule(_localctx, 314, RULE_notOperator);
16395 int _la;
16396 try {
16397 enterOuterAlt(_localctx, 1);
16398 {
16399 setState(1629);
16400 _la = _input.LA(1);
16401 if ( !(_la==NOT_ || _la==NOT) ) {
16402 _errHandler.recoverInline(this);
16403 }
16404 else {
16405 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16406 _errHandler.reportMatch(this);
16407 consume();
16408 }
16409 }
16410 }
16411 catch (RecognitionException re) {
16412 _localctx.exception = re;
16413 _errHandler.reportError(this, re);
16414 _errHandler.recover(this, re);
16415 }
16416 finally {
16417 exitRule();
16418 }
16419 return _localctx;
16420 }
16421
16422 public static class BooleanPrimaryContext extends ParserRuleContext {
16423 public PredicateContext predicate() {
16424 return getRuleContext(PredicateContext.class,0);
16425 }
16426 public BooleanPrimaryContext booleanPrimary() {
16427 return getRuleContext(BooleanPrimaryContext.class,0);
16428 }
16429 public TerminalNode IS() { return getToken(HiveStatementParser.IS, 0); }
16430 public TerminalNode TRUE() { return getToken(HiveStatementParser.TRUE, 0); }
16431 public TerminalNode FALSE() { return getToken(HiveStatementParser.FALSE, 0); }
16432 public TerminalNode UNKNOWN() { return getToken(HiveStatementParser.UNKNOWN, 0); }
16433 public TerminalNode NULL() { return getToken(HiveStatementParser.NULL, 0); }
16434 public TerminalNode NOT() { return getToken(HiveStatementParser.NOT, 0); }
16435 public TerminalNode SAFE_EQ_() { return getToken(HiveStatementParser.SAFE_EQ_, 0); }
16436 public TerminalNode MEMBER() { return getToken(HiveStatementParser.MEMBER, 0); }
16437 public TerminalNode OF() { return getToken(HiveStatementParser.OF, 0); }
16438 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
16439 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
16440 public ExprContext expr() {
16441 return getRuleContext(ExprContext.class,0);
16442 }
16443 public ComparisonOperatorContext comparisonOperator() {
16444 return getRuleContext(ComparisonOperatorContext.class,0);
16445 }
16446 public SubqueryContext subquery() {
16447 return getRuleContext(SubqueryContext.class,0);
16448 }
16449 public TerminalNode ALL() { return getToken(HiveStatementParser.ALL, 0); }
16450 public TerminalNode ANY() { return getToken(HiveStatementParser.ANY, 0); }
16451 public AssignmentOperatorContext assignmentOperator() {
16452 return getRuleContext(AssignmentOperatorContext.class,0);
16453 }
16454 public BooleanPrimaryContext(ParserRuleContext parent, int invokingState) {
16455 super(parent, invokingState);
16456 }
16457 @Override public int getRuleIndex() { return RULE_booleanPrimary; }
16458 @Override
16459 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16460 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitBooleanPrimary(this);
16461 else return visitor.visitChildren(this);
16462 }
16463 }
16464
16465 public final BooleanPrimaryContext booleanPrimary() throws RecognitionException {
16466 return booleanPrimary(0);
16467 }
16468
16469 private BooleanPrimaryContext booleanPrimary(int _p) throws RecognitionException {
16470 ParserRuleContext _parentctx = _ctx;
16471 int _parentState = getState();
16472 BooleanPrimaryContext _localctx = new BooleanPrimaryContext(_ctx, _parentState);
16473 BooleanPrimaryContext _prevctx = _localctx;
16474 int _startState = 316;
16475 enterRecursionRule(_localctx, 316, RULE_booleanPrimary, _p);
16476 int _la;
16477 try {
16478 int _alt;
16479 enterOuterAlt(_localctx, 1);
16480 {
16481 {
16482 setState(1632);
16483 predicate();
16484 }
16485 _ctx.stop = _input.LT(-1);
16486 setState(1665);
16487 _errHandler.sync(this);
16488 _alt = getInterpreter().adaptivePredict(_input,184,_ctx);
16489 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
16490 if ( _alt==1 ) {
16491 if ( _parseListeners!=null ) triggerExitRuleEvent();
16492 _prevctx = _localctx;
16493 {
16494 setState(1663);
16495 _errHandler.sync(this);
16496 switch ( getInterpreter().adaptivePredict(_input,183,_ctx) ) {
16497 case 1:
16498 {
16499 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
16500 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
16501 setState(1634);
16502 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
16503 setState(1635);
16504 match(IS);
16505 setState(1637);
16506 _errHandler.sync(this);
16507 _la = _input.LA(1);
16508 if (_la==NOT) {
16509 {
16510 setState(1636);
16511 match(NOT);
16512 }
16513 }
16514
16515 setState(1639);
16516 _la = _input.LA(1);
16517 if ( !(_la==FALSE || _la==NULL || _la==TRUE || _la==UNKNOWN) ) {
16518 _errHandler.recoverInline(this);
16519 }
16520 else {
16521 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16522 _errHandler.reportMatch(this);
16523 consume();
16524 }
16525 }
16526 break;
16527 case 2:
16528 {
16529 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
16530 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
16531 setState(1640);
16532 if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
16533 setState(1641);
16534 match(SAFE_EQ_);
16535 setState(1642);
16536 predicate();
16537 }
16538 break;
16539 case 3:
16540 {
16541 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
16542 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
16543 setState(1643);
16544 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
16545 setState(1644);
16546 match(MEMBER);
16547 setState(1645);
16548 match(OF);
16549 setState(1646);
16550 match(LP_);
16551 {
16552 setState(1647);
16553 expr(0);
16554 }
16555 setState(1648);
16556 match(RP_);
16557 }
16558 break;
16559 case 4:
16560 {
16561 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
16562 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
16563 setState(1650);
16564 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
16565 setState(1651);
16566 comparisonOperator();
16567 setState(1652);
16568 predicate();
16569 }
16570 break;
16571 case 5:
16572 {
16573 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
16574 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
16575 setState(1654);
16576 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
16577 setState(1655);
16578 comparisonOperator();
16579 setState(1656);
16580 _la = _input.LA(1);
16581 if ( !(_la==ALL || _la==ANY) ) {
16582 _errHandler.recoverInline(this);
16583 }
16584 else {
16585 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16586 _errHandler.reportMatch(this);
16587 consume();
16588 }
16589 setState(1657);
16590 subquery();
16591 }
16592 break;
16593 case 6:
16594 {
16595 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
16596 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
16597 setState(1659);
16598 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
16599 setState(1660);
16600 assignmentOperator();
16601 setState(1661);
16602 predicate();
16603 }
16604 break;
16605 }
16606 }
16607 }
16608 setState(1667);
16609 _errHandler.sync(this);
16610 _alt = getInterpreter().adaptivePredict(_input,184,_ctx);
16611 }
16612 }
16613 }
16614 catch (RecognitionException re) {
16615 _localctx.exception = re;
16616 _errHandler.reportError(this, re);
16617 _errHandler.recover(this, re);
16618 }
16619 finally {
16620 unrollRecursionContexts(_parentctx);
16621 }
16622 return _localctx;
16623 }
16624
16625 public static class AssignmentOperatorContext extends ParserRuleContext {
16626 public TerminalNode EQ_() { return getToken(HiveStatementParser.EQ_, 0); }
16627 public TerminalNode ASSIGNMENT_() { return getToken(HiveStatementParser.ASSIGNMENT_, 0); }
16628 public AssignmentOperatorContext(ParserRuleContext parent, int invokingState) {
16629 super(parent, invokingState);
16630 }
16631 @Override public int getRuleIndex() { return RULE_assignmentOperator; }
16632 @Override
16633 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16634 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitAssignmentOperator(this);
16635 else return visitor.visitChildren(this);
16636 }
16637 }
16638
16639 public final AssignmentOperatorContext assignmentOperator() throws RecognitionException {
16640 AssignmentOperatorContext _localctx = new AssignmentOperatorContext(_ctx, getState());
16641 enterRule(_localctx, 318, RULE_assignmentOperator);
16642 int _la;
16643 try {
16644 enterOuterAlt(_localctx, 1);
16645 {
16646 setState(1668);
16647 _la = _input.LA(1);
16648 if ( !(_la==EQ_ || _la==ASSIGNMENT_) ) {
16649 _errHandler.recoverInline(this);
16650 }
16651 else {
16652 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16653 _errHandler.reportMatch(this);
16654 consume();
16655 }
16656 }
16657 }
16658 catch (RecognitionException re) {
16659 _localctx.exception = re;
16660 _errHandler.reportError(this, re);
16661 _errHandler.recover(this, re);
16662 }
16663 finally {
16664 exitRule();
16665 }
16666 return _localctx;
16667 }
16668
16669 public static class ComparisonOperatorContext extends ParserRuleContext {
16670 public TerminalNode EQ_() { return getToken(HiveStatementParser.EQ_, 0); }
16671 public TerminalNode GTE_() { return getToken(HiveStatementParser.GTE_, 0); }
16672 public TerminalNode GT_() { return getToken(HiveStatementParser.GT_, 0); }
16673 public TerminalNode LTE_() { return getToken(HiveStatementParser.LTE_, 0); }
16674 public TerminalNode LT_() { return getToken(HiveStatementParser.LT_, 0); }
16675 public TerminalNode NEQ_() { return getToken(HiveStatementParser.NEQ_, 0); }
16676 public ComparisonOperatorContext(ParserRuleContext parent, int invokingState) {
16677 super(parent, invokingState);
16678 }
16679 @Override public int getRuleIndex() { return RULE_comparisonOperator; }
16680 @Override
16681 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16682 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitComparisonOperator(this);
16683 else return visitor.visitChildren(this);
16684 }
16685 }
16686
16687 public final ComparisonOperatorContext comparisonOperator() throws RecognitionException {
16688 ComparisonOperatorContext _localctx = new ComparisonOperatorContext(_ctx, getState());
16689 enterRule(_localctx, 320, RULE_comparisonOperator);
16690 int _la;
16691 try {
16692 enterOuterAlt(_localctx, 1);
16693 {
16694 setState(1670);
16695 _la = _input.LA(1);
16696 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << EQ_) | (1L << NEQ_) | (1L << GT_) | (1L << GTE_) | (1L << LT_) | (1L << LTE_))) != 0)) ) {
16697 _errHandler.recoverInline(this);
16698 }
16699 else {
16700 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16701 _errHandler.reportMatch(this);
16702 consume();
16703 }
16704 }
16705 }
16706 catch (RecognitionException re) {
16707 _localctx.exception = re;
16708 _errHandler.reportError(this, re);
16709 _errHandler.recover(this, re);
16710 }
16711 finally {
16712 exitRule();
16713 }
16714 return _localctx;
16715 }
16716
16717 public static class PredicateContext extends ParserRuleContext {
16718 public List<BitExprContext> bitExpr() {
16719 return getRuleContexts(BitExprContext.class);
16720 }
16721 public BitExprContext bitExpr(int i) {
16722 return getRuleContext(BitExprContext.class,i);
16723 }
16724 public TerminalNode IN() { return getToken(HiveStatementParser.IN, 0); }
16725 public SubqueryContext subquery() {
16726 return getRuleContext(SubqueryContext.class,0);
16727 }
16728 public TerminalNode NOT() { return getToken(HiveStatementParser.NOT, 0); }
16729 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
16730 public List<ExprContext> expr() {
16731 return getRuleContexts(ExprContext.class);
16732 }
16733 public ExprContext expr(int i) {
16734 return getRuleContext(ExprContext.class,i);
16735 }
16736 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
16737 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
16738 public TerminalNode COMMA_(int i) {
16739 return getToken(HiveStatementParser.COMMA_, i);
16740 }
16741 public TerminalNode BETWEEN() { return getToken(HiveStatementParser.BETWEEN, 0); }
16742 public TerminalNode AND() { return getToken(HiveStatementParser.AND, 0); }
16743 public PredicateContext predicate() {
16744 return getRuleContext(PredicateContext.class,0);
16745 }
16746 public TerminalNode SOUNDS() { return getToken(HiveStatementParser.SOUNDS, 0); }
16747 public TerminalNode LIKE() { return getToken(HiveStatementParser.LIKE, 0); }
16748 public List<SimpleExprContext> simpleExpr() {
16749 return getRuleContexts(SimpleExprContext.class);
16750 }
16751 public SimpleExprContext simpleExpr(int i) {
16752 return getRuleContext(SimpleExprContext.class,i);
16753 }
16754 public TerminalNode ESCAPE() { return getToken(HiveStatementParser.ESCAPE, 0); }
16755 public TerminalNode REGEXP() { return getToken(HiveStatementParser.REGEXP, 0); }
16756 public TerminalNode RLIKE() { return getToken(HiveStatementParser.RLIKE, 0); }
16757 public PredicateContext(ParserRuleContext parent, int invokingState) {
16758 super(parent, invokingState);
16759 }
16760 @Override public int getRuleIndex() { return RULE_predicate; }
16761 @Override
16762 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16763 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitPredicate(this);
16764 else return visitor.visitChildren(this);
16765 }
16766 }
16767
16768 public final PredicateContext predicate() throws RecognitionException {
16769 PredicateContext _localctx = new PredicateContext(_ctx, getState());
16770 enterRule(_localctx, 322, RULE_predicate);
16771 int _la;
16772 try {
16773 setState(1727);
16774 _errHandler.sync(this);
16775 switch ( getInterpreter().adaptivePredict(_input,192,_ctx) ) {
16776 case 1:
16777 enterOuterAlt(_localctx, 1);
16778 {
16779 setState(1672);
16780 bitExpr(0);
16781 setState(1674);
16782 _errHandler.sync(this);
16783 _la = _input.LA(1);
16784 if (_la==NOT) {
16785 {
16786 setState(1673);
16787 match(NOT);
16788 }
16789 }
16790
16791 setState(1676);
16792 match(IN);
16793 setState(1677);
16794 subquery();
16795 }
16796 break;
16797 case 2:
16798 enterOuterAlt(_localctx, 2);
16799 {
16800 setState(1679);
16801 bitExpr(0);
16802 setState(1681);
16803 _errHandler.sync(this);
16804 _la = _input.LA(1);
16805 if (_la==NOT) {
16806 {
16807 setState(1680);
16808 match(NOT);
16809 }
16810 }
16811
16812 setState(1683);
16813 match(IN);
16814 setState(1684);
16815 match(LP_);
16816 setState(1685);
16817 expr(0);
16818 setState(1690);
16819 _errHandler.sync(this);
16820 _la = _input.LA(1);
16821 while (_la==COMMA_) {
16822 {
16823 {
16824 setState(1686);
16825 match(COMMA_);
16826 setState(1687);
16827 expr(0);
16828 }
16829 }
16830 setState(1692);
16831 _errHandler.sync(this);
16832 _la = _input.LA(1);
16833 }
16834 setState(1693);
16835 match(RP_);
16836 }
16837 break;
16838 case 3:
16839 enterOuterAlt(_localctx, 3);
16840 {
16841 setState(1695);
16842 bitExpr(0);
16843 setState(1697);
16844 _errHandler.sync(this);
16845 _la = _input.LA(1);
16846 if (_la==NOT) {
16847 {
16848 setState(1696);
16849 match(NOT);
16850 }
16851 }
16852
16853 setState(1699);
16854 match(BETWEEN);
16855 setState(1700);
16856 bitExpr(0);
16857 setState(1701);
16858 match(AND);
16859 setState(1702);
16860 predicate();
16861 }
16862 break;
16863 case 4:
16864 enterOuterAlt(_localctx, 4);
16865 {
16866 setState(1704);
16867 bitExpr(0);
16868 setState(1705);
16869 match(SOUNDS);
16870 setState(1706);
16871 match(LIKE);
16872 setState(1707);
16873 bitExpr(0);
16874 }
16875 break;
16876 case 5:
16877 enterOuterAlt(_localctx, 5);
16878 {
16879 setState(1709);
16880 bitExpr(0);
16881 setState(1711);
16882 _errHandler.sync(this);
16883 _la = _input.LA(1);
16884 if (_la==NOT) {
16885 {
16886 setState(1710);
16887 match(NOT);
16888 }
16889 }
16890
16891 setState(1713);
16892 match(LIKE);
16893 setState(1714);
16894 simpleExpr(0);
16895 setState(1717);
16896 _errHandler.sync(this);
16897 switch ( getInterpreter().adaptivePredict(_input,190,_ctx) ) {
16898 case 1:
16899 {
16900 setState(1715);
16901 match(ESCAPE);
16902 setState(1716);
16903 simpleExpr(0);
16904 }
16905 break;
16906 }
16907 }
16908 break;
16909 case 6:
16910 enterOuterAlt(_localctx, 6);
16911 {
16912 setState(1719);
16913 bitExpr(0);
16914 setState(1721);
16915 _errHandler.sync(this);
16916 _la = _input.LA(1);
16917 if (_la==NOT) {
16918 {
16919 setState(1720);
16920 match(NOT);
16921 }
16922 }
16923
16924 setState(1723);
16925 _la = _input.LA(1);
16926 if ( !(_la==REGEXP || _la==RLIKE) ) {
16927 _errHandler.recoverInline(this);
16928 }
16929 else {
16930 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16931 _errHandler.reportMatch(this);
16932 consume();
16933 }
16934 setState(1724);
16935 bitExpr(0);
16936 }
16937 break;
16938 case 7:
16939 enterOuterAlt(_localctx, 7);
16940 {
16941 setState(1726);
16942 bitExpr(0);
16943 }
16944 break;
16945 }
16946 }
16947 catch (RecognitionException re) {
16948 _localctx.exception = re;
16949 _errHandler.reportError(this, re);
16950 _errHandler.recover(this, re);
16951 }
16952 finally {
16953 exitRule();
16954 }
16955 return _localctx;
16956 }
16957
16958 public static class BitExprContext extends ParserRuleContext {
16959 public SimpleExprContext simpleExpr() {
16960 return getRuleContext(SimpleExprContext.class,0);
16961 }
16962 public List<BitExprContext> bitExpr() {
16963 return getRuleContexts(BitExprContext.class);
16964 }
16965 public BitExprContext bitExpr(int i) {
16966 return getRuleContext(BitExprContext.class,i);
16967 }
16968 public TerminalNode VERTICAL_BAR_() { return getToken(HiveStatementParser.VERTICAL_BAR_, 0); }
16969 public TerminalNode AMPERSAND_() { return getToken(HiveStatementParser.AMPERSAND_, 0); }
16970 public TerminalNode SIGNED_LEFT_SHIFT_() { return getToken(HiveStatementParser.SIGNED_LEFT_SHIFT_, 0); }
16971 public TerminalNode SIGNED_RIGHT_SHIFT_() { return getToken(HiveStatementParser.SIGNED_RIGHT_SHIFT_, 0); }
16972 public TerminalNode PLUS_() { return getToken(HiveStatementParser.PLUS_, 0); }
16973 public TerminalNode MINUS_() { return getToken(HiveStatementParser.MINUS_, 0); }
16974 public TerminalNode ASTERISK_() { return getToken(HiveStatementParser.ASTERISK_, 0); }
16975 public TerminalNode SLASH_() { return getToken(HiveStatementParser.SLASH_, 0); }
16976 public TerminalNode DIV() { return getToken(HiveStatementParser.DIV, 0); }
16977 public TerminalNode MOD() { return getToken(HiveStatementParser.MOD, 0); }
16978 public TerminalNode MOD_() { return getToken(HiveStatementParser.MOD_, 0); }
16979 public TerminalNode CARET_() { return getToken(HiveStatementParser.CARET_, 0); }
16980 public IntervalExpressionContext intervalExpression() {
16981 return getRuleContext(IntervalExpressionContext.class,0);
16982 }
16983 public BitExprContext(ParserRuleContext parent, int invokingState) {
16984 super(parent, invokingState);
16985 }
16986 @Override public int getRuleIndex() { return RULE_bitExpr; }
16987 @Override
16988 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16989 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitBitExpr(this);
16990 else return visitor.visitChildren(this);
16991 }
16992 }
16993
16994 public final BitExprContext bitExpr() throws RecognitionException {
16995 return bitExpr(0);
16996 }
16997
16998 private BitExprContext bitExpr(int _p) throws RecognitionException {
16999 ParserRuleContext _parentctx = _ctx;
17000 int _parentState = getState();
17001 BitExprContext _localctx = new BitExprContext(_ctx, _parentState);
17002 BitExprContext _prevctx = _localctx;
17003 int _startState = 324;
17004 enterRecursionRule(_localctx, 324, RULE_bitExpr, _p);
17005 try {
17006 int _alt;
17007 enterOuterAlt(_localctx, 1);
17008 {
17009 {
17010 setState(1730);
17011 simpleExpr(0);
17012 }
17013 _ctx.stop = _input.LT(-1);
17014 setState(1776);
17015 _errHandler.sync(this);
17016 _alt = getInterpreter().adaptivePredict(_input,194,_ctx);
17017 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
17018 if ( _alt==1 ) {
17019 if ( _parseListeners!=null ) triggerExitRuleEvent();
17020 _prevctx = _localctx;
17021 {
17022 setState(1774);
17023 _errHandler.sync(this);
17024 switch ( getInterpreter().adaptivePredict(_input,193,_ctx) ) {
17025 case 1:
17026 {
17027 _localctx = new BitExprContext(_parentctx, _parentState);
17028 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17029 setState(1732);
17030 if (!(precpred(_ctx, 15))) throw new FailedPredicateException(this, "precpred(_ctx, 15)");
17031 setState(1733);
17032 match(VERTICAL_BAR_);
17033 setState(1734);
17034 bitExpr(16);
17035 }
17036 break;
17037 case 2:
17038 {
17039 _localctx = new BitExprContext(_parentctx, _parentState);
17040 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17041 setState(1735);
17042 if (!(precpred(_ctx, 14))) throw new FailedPredicateException(this, "precpred(_ctx, 14)");
17043 setState(1736);
17044 match(AMPERSAND_);
17045 setState(1737);
17046 bitExpr(15);
17047 }
17048 break;
17049 case 3:
17050 {
17051 _localctx = new BitExprContext(_parentctx, _parentState);
17052 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17053 setState(1738);
17054 if (!(precpred(_ctx, 13))) throw new FailedPredicateException(this, "precpred(_ctx, 13)");
17055 setState(1739);
17056 match(SIGNED_LEFT_SHIFT_);
17057 setState(1740);
17058 bitExpr(14);
17059 }
17060 break;
17061 case 4:
17062 {
17063 _localctx = new BitExprContext(_parentctx, _parentState);
17064 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17065 setState(1741);
17066 if (!(precpred(_ctx, 12))) throw new FailedPredicateException(this, "precpred(_ctx, 12)");
17067 setState(1742);
17068 match(SIGNED_RIGHT_SHIFT_);
17069 setState(1743);
17070 bitExpr(13);
17071 }
17072 break;
17073 case 5:
17074 {
17075 _localctx = new BitExprContext(_parentctx, _parentState);
17076 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17077 setState(1744);
17078 if (!(precpred(_ctx, 11))) throw new FailedPredicateException(this, "precpred(_ctx, 11)");
17079 setState(1745);
17080 match(PLUS_);
17081 setState(1746);
17082 bitExpr(12);
17083 }
17084 break;
17085 case 6:
17086 {
17087 _localctx = new BitExprContext(_parentctx, _parentState);
17088 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17089 setState(1747);
17090 if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)");
17091 setState(1748);
17092 match(MINUS_);
17093 setState(1749);
17094 bitExpr(11);
17095 }
17096 break;
17097 case 7:
17098 {
17099 _localctx = new BitExprContext(_parentctx, _parentState);
17100 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17101 setState(1750);
17102 if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)");
17103 setState(1751);
17104 match(ASTERISK_);
17105 setState(1752);
17106 bitExpr(10);
17107 }
17108 break;
17109 case 8:
17110 {
17111 _localctx = new BitExprContext(_parentctx, _parentState);
17112 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17113 setState(1753);
17114 if (!(precpred(_ctx, 8))) throw new FailedPredicateException(this, "precpred(_ctx, 8)");
17115 setState(1754);
17116 match(SLASH_);
17117 setState(1755);
17118 bitExpr(9);
17119 }
17120 break;
17121 case 9:
17122 {
17123 _localctx = new BitExprContext(_parentctx, _parentState);
17124 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17125 setState(1756);
17126 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
17127 setState(1757);
17128 match(DIV);
17129 setState(1758);
17130 bitExpr(8);
17131 }
17132 break;
17133 case 10:
17134 {
17135 _localctx = new BitExprContext(_parentctx, _parentState);
17136 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17137 setState(1759);
17138 if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
17139 setState(1760);
17140 match(MOD);
17141 setState(1761);
17142 bitExpr(7);
17143 }
17144 break;
17145 case 11:
17146 {
17147 _localctx = new BitExprContext(_parentctx, _parentState);
17148 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17149 setState(1762);
17150 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
17151 setState(1763);
17152 match(MOD_);
17153 setState(1764);
17154 bitExpr(6);
17155 }
17156 break;
17157 case 12:
17158 {
17159 _localctx = new BitExprContext(_parentctx, _parentState);
17160 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17161 setState(1765);
17162 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
17163 setState(1766);
17164 match(CARET_);
17165 setState(1767);
17166 bitExpr(5);
17167 }
17168 break;
17169 case 13:
17170 {
17171 _localctx = new BitExprContext(_parentctx, _parentState);
17172 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17173 setState(1768);
17174 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
17175 setState(1769);
17176 match(PLUS_);
17177 setState(1770);
17178 intervalExpression();
17179 }
17180 break;
17181 case 14:
17182 {
17183 _localctx = new BitExprContext(_parentctx, _parentState);
17184 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
17185 setState(1771);
17186 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
17187 setState(1772);
17188 match(MINUS_);
17189 setState(1773);
17190 intervalExpression();
17191 }
17192 break;
17193 }
17194 }
17195 }
17196 setState(1778);
17197 _errHandler.sync(this);
17198 _alt = getInterpreter().adaptivePredict(_input,194,_ctx);
17199 }
17200 }
17201 }
17202 catch (RecognitionException re) {
17203 _localctx.exception = re;
17204 _errHandler.reportError(this, re);
17205 _errHandler.recover(this, re);
17206 }
17207 finally {
17208 unrollRecursionContexts(_parentctx);
17209 }
17210 return _localctx;
17211 }
17212
17213 public static class SimpleExprContext extends ParserRuleContext {
17214 public FunctionCallContext functionCall() {
17215 return getRuleContext(FunctionCallContext.class,0);
17216 }
17217 public ParameterMarkerContext parameterMarker() {
17218 return getRuleContext(ParameterMarkerContext.class,0);
17219 }
17220 public LiteralsContext literals() {
17221 return getRuleContext(LiteralsContext.class,0);
17222 }
17223 public ColumnRefContext columnRef() {
17224 return getRuleContext(ColumnRefContext.class,0);
17225 }
17226 public VariableContext variable() {
17227 return getRuleContext(VariableContext.class,0);
17228 }
17229 public List<SimpleExprContext> simpleExpr() {
17230 return getRuleContexts(SimpleExprContext.class);
17231 }
17232 public SimpleExprContext simpleExpr(int i) {
17233 return getRuleContext(SimpleExprContext.class,i);
17234 }
17235 public TerminalNode PLUS_() { return getToken(HiveStatementParser.PLUS_, 0); }
17236 public TerminalNode MINUS_() { return getToken(HiveStatementParser.MINUS_, 0); }
17237 public TerminalNode TILDE_() { return getToken(HiveStatementParser.TILDE_, 0); }
17238 public NotOperatorContext notOperator() {
17239 return getRuleContext(NotOperatorContext.class,0);
17240 }
17241 public TerminalNode BINARY() { return getToken(HiveStatementParser.BINARY, 0); }
17242 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
17243 public List<ExprContext> expr() {
17244 return getRuleContexts(ExprContext.class);
17245 }
17246 public ExprContext expr(int i) {
17247 return getRuleContext(ExprContext.class,i);
17248 }
17249 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
17250 public TerminalNode ROW() { return getToken(HiveStatementParser.ROW, 0); }
17251 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
17252 public TerminalNode COMMA_(int i) {
17253 return getToken(HiveStatementParser.COMMA_, i);
17254 }
17255 public SubqueryContext subquery() {
17256 return getRuleContext(SubqueryContext.class,0);
17257 }
17258 public TerminalNode EXISTS() { return getToken(HiveStatementParser.EXISTS, 0); }
17259 public TerminalNode LBE_() { return getToken(HiveStatementParser.LBE_, 0); }
17260 public IdentifierContext identifier() {
17261 return getRuleContext(IdentifierContext.class,0);
17262 }
17263 public TerminalNode RBE_() { return getToken(HiveStatementParser.RBE_, 0); }
17264 public String_Context string_() {
17265 return getRuleContext(String_Context.class,0);
17266 }
17267 public TerminalNode JSON_SEPARATOR() { return getToken(HiveStatementParser.JSON_SEPARATOR, 0); }
17268 public TerminalNode JSON_UNQUOTED_SEPARATOR() { return getToken(HiveStatementParser.JSON_UNQUOTED_SEPARATOR, 0); }
17269 public PathContext path() {
17270 return getRuleContext(PathContext.class,0);
17271 }
17272 public TerminalNode RETURNING() { return getToken(HiveStatementParser.RETURNING, 0); }
17273 public DataTypeContext dataType() {
17274 return getRuleContext(DataTypeContext.class,0);
17275 }
17276 public OnEmptyErrorContext onEmptyError() {
17277 return getRuleContext(OnEmptyErrorContext.class,0);
17278 }
17279 public MatchExpressionContext matchExpression() {
17280 return getRuleContext(MatchExpressionContext.class,0);
17281 }
17282 public CaseExpressionContext caseExpression() {
17283 return getRuleContext(CaseExpressionContext.class,0);
17284 }
17285 public IntervalExpressionContext intervalExpression() {
17286 return getRuleContext(IntervalExpressionContext.class,0);
17287 }
17288 public TerminalNode OR_() { return getToken(HiveStatementParser.OR_, 0); }
17289 public CollateClauseContext collateClause() {
17290 return getRuleContext(CollateClauseContext.class,0);
17291 }
17292 public SimpleExprContext(ParserRuleContext parent, int invokingState) {
17293 super(parent, invokingState);
17294 }
17295 @Override public int getRuleIndex() { return RULE_simpleExpr; }
17296 @Override
17297 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17298 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSimpleExpr(this);
17299 else return visitor.visitChildren(this);
17300 }
17301 }
17302
17303 public final SimpleExprContext simpleExpr() throws RecognitionException {
17304 return simpleExpr(0);
17305 }
17306
17307 private SimpleExprContext simpleExpr(int _p) throws RecognitionException {
17308 ParserRuleContext _parentctx = _ctx;
17309 int _parentState = getState();
17310 SimpleExprContext _localctx = new SimpleExprContext(_ctx, _parentState);
17311 SimpleExprContext _prevctx = _localctx;
17312 int _startState = 326;
17313 enterRecursionRule(_localctx, 326, RULE_simpleExpr, _p);
17314 int _la;
17315 try {
17316 int _alt;
17317 enterOuterAlt(_localctx, 1);
17318 {
17319 setState(1831);
17320 _errHandler.sync(this);
17321 switch ( getInterpreter().adaptivePredict(_input,201,_ctx) ) {
17322 case 1:
17323 {
17324 setState(1780);
17325 functionCall();
17326 }
17327 break;
17328 case 2:
17329 {
17330 setState(1781);
17331 parameterMarker();
17332 }
17333 break;
17334 case 3:
17335 {
17336 setState(1782);
17337 literals();
17338 }
17339 break;
17340 case 4:
17341 {
17342 setState(1783);
17343 columnRef();
17344 }
17345 break;
17346 case 5:
17347 {
17348 setState(1784);
17349 variable();
17350 }
17351 break;
17352 case 6:
17353 {
17354 setState(1790);
17355 _errHandler.sync(this);
17356 switch (_input.LA(1)) {
17357 case PLUS_:
17358 {
17359 setState(1785);
17360 match(PLUS_);
17361 }
17362 break;
17363 case MINUS_:
17364 {
17365 setState(1786);
17366 match(MINUS_);
17367 }
17368 break;
17369 case TILDE_:
17370 {
17371 setState(1787);
17372 match(TILDE_);
17373 }
17374 break;
17375 case NOT_:
17376 case NOT:
17377 {
17378 setState(1788);
17379 notOperator();
17380 }
17381 break;
17382 case BINARY:
17383 {
17384 setState(1789);
17385 match(BINARY);
17386 }
17387 break;
17388 default:
17389 throw new NoViableAltException(this);
17390 }
17391 setState(1792);
17392 simpleExpr(9);
17393 }
17394 break;
17395 case 7:
17396 {
17397 setState(1794);
17398 _errHandler.sync(this);
17399 _la = _input.LA(1);
17400 if (_la==ROW) {
17401 {
17402 setState(1793);
17403 match(ROW);
17404 }
17405 }
17406
17407 setState(1796);
17408 match(LP_);
17409 setState(1797);
17410 expr(0);
17411 setState(1802);
17412 _errHandler.sync(this);
17413 _la = _input.LA(1);
17414 while (_la==COMMA_) {
17415 {
17416 {
17417 setState(1798);
17418 match(COMMA_);
17419 setState(1799);
17420 expr(0);
17421 }
17422 }
17423 setState(1804);
17424 _errHandler.sync(this);
17425 _la = _input.LA(1);
17426 }
17427 setState(1805);
17428 match(RP_);
17429 }
17430 break;
17431 case 8:
17432 {
17433 setState(1808);
17434 _errHandler.sync(this);
17435 _la = _input.LA(1);
17436 if (_la==EXISTS) {
17437 {
17438 setState(1807);
17439 match(EXISTS);
17440 }
17441 }
17442
17443 setState(1810);
17444 subquery();
17445 }
17446 break;
17447 case 9:
17448 {
17449 setState(1811);
17450 match(LBE_);
17451 setState(1812);
17452 identifier();
17453 setState(1813);
17454 expr(0);
17455 setState(1814);
17456 match(RBE_);
17457 }
17458 break;
17459 case 10:
17460 {
17461 setState(1816);
17462 identifier();
17463 setState(1817);
17464 _la = _input.LA(1);
17465 if ( !(_la==JSON_SEPARATOR || _la==JSON_UNQUOTED_SEPARATOR) ) {
17466 _errHandler.recoverInline(this);
17467 }
17468 else {
17469 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
17470 _errHandler.reportMatch(this);
17471 consume();
17472 }
17473 setState(1818);
17474 string_();
17475 }
17476 break;
17477 case 11:
17478 {
17479 setState(1820);
17480 path();
17481 setState(1823);
17482 _errHandler.sync(this);
17483 switch ( getInterpreter().adaptivePredict(_input,199,_ctx) ) {
17484 case 1:
17485 {
17486 setState(1821);
17487 match(RETURNING);
17488 setState(1822);
17489 dataType();
17490 }
17491 break;
17492 }
17493 setState(1826);
17494 _errHandler.sync(this);
17495 switch ( getInterpreter().adaptivePredict(_input,200,_ctx) ) {
17496 case 1:
17497 {
17498 setState(1825);
17499 onEmptyError();
17500 }
17501 break;
17502 }
17503 }
17504 break;
17505 case 12:
17506 {
17507 setState(1828);
17508 matchExpression();
17509 }
17510 break;
17511 case 13:
17512 {
17513 setState(1829);
17514 caseExpression();
17515 }
17516 break;
17517 case 14:
17518 {
17519 setState(1830);
17520 intervalExpression();
17521 }
17522 break;
17523 }
17524 _ctx.stop = _input.LT(-1);
17525 setState(1840);
17526 _errHandler.sync(this);
17527 _alt = getInterpreter().adaptivePredict(_input,203,_ctx);
17528 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
17529 if ( _alt==1 ) {
17530 if ( _parseListeners!=null ) triggerExitRuleEvent();
17531 _prevctx = _localctx;
17532 {
17533 setState(1838);
17534 _errHandler.sync(this);
17535 switch ( getInterpreter().adaptivePredict(_input,202,_ctx) ) {
17536 case 1:
17537 {
17538 _localctx = new SimpleExprContext(_parentctx, _parentState);
17539 pushNewRecursionContext(_localctx, _startState, RULE_simpleExpr);
17540 setState(1833);
17541 if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)");
17542 setState(1834);
17543 match(OR_);
17544 setState(1835);
17545 simpleExpr(11);
17546 }
17547 break;
17548 case 2:
17549 {
17550 _localctx = new SimpleExprContext(_parentctx, _parentState);
17551 pushNewRecursionContext(_localctx, _startState, RULE_simpleExpr);
17552 setState(1836);
17553 if (!(precpred(_ctx, 12))) throw new FailedPredicateException(this, "precpred(_ctx, 12)");
17554 setState(1837);
17555 collateClause();
17556 }
17557 break;
17558 }
17559 }
17560 }
17561 setState(1842);
17562 _errHandler.sync(this);
17563 _alt = getInterpreter().adaptivePredict(_input,203,_ctx);
17564 }
17565 }
17566 }
17567 catch (RecognitionException re) {
17568 _localctx.exception = re;
17569 _errHandler.reportError(this, re);
17570 _errHandler.recover(this, re);
17571 }
17572 finally {
17573 unrollRecursionContexts(_parentctx);
17574 }
17575 return _localctx;
17576 }
17577
17578 public static class PathContext extends ParserRuleContext {
17579 public String_Context string_() {
17580 return getRuleContext(String_Context.class,0);
17581 }
17582 public PathContext(ParserRuleContext parent, int invokingState) {
17583 super(parent, invokingState);
17584 }
17585 @Override public int getRuleIndex() { return RULE_path; }
17586 @Override
17587 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17588 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitPath(this);
17589 else return visitor.visitChildren(this);
17590 }
17591 }
17592
17593 public final PathContext path() throws RecognitionException {
17594 PathContext _localctx = new PathContext(_ctx, getState());
17595 enterRule(_localctx, 328, RULE_path);
17596 try {
17597 enterOuterAlt(_localctx, 1);
17598 {
17599 setState(1843);
17600 string_();
17601 }
17602 }
17603 catch (RecognitionException re) {
17604 _localctx.exception = re;
17605 _errHandler.reportError(this, re);
17606 _errHandler.recover(this, re);
17607 }
17608 finally {
17609 exitRule();
17610 }
17611 return _localctx;
17612 }
17613
17614 public static class OnEmptyErrorContext extends ParserRuleContext {
17615 public TerminalNode ON() { return getToken(HiveStatementParser.ON, 0); }
17616 public TerminalNode EMPTY() { return getToken(HiveStatementParser.EMPTY, 0); }
17617 public List<TerminalNode> ERROR() { return getTokens(HiveStatementParser.ERROR); }
17618 public TerminalNode ERROR(int i) {
17619 return getToken(HiveStatementParser.ERROR, i);
17620 }
17621 public TerminalNode NULL() { return getToken(HiveStatementParser.NULL, 0); }
17622 public TerminalNode DEFAULT() { return getToken(HiveStatementParser.DEFAULT, 0); }
17623 public LiteralsContext literals() {
17624 return getRuleContext(LiteralsContext.class,0);
17625 }
17626 public OnEmptyErrorContext(ParserRuleContext parent, int invokingState) {
17627 super(parent, invokingState);
17628 }
17629 @Override public int getRuleIndex() { return RULE_onEmptyError; }
17630 @Override
17631 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17632 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitOnEmptyError(this);
17633 else return visitor.visitChildren(this);
17634 }
17635 }
17636
17637 public final OnEmptyErrorContext onEmptyError() throws RecognitionException {
17638 OnEmptyErrorContext _localctx = new OnEmptyErrorContext(_ctx, getState());
17639 enterRule(_localctx, 330, RULE_onEmptyError);
17640 int _la;
17641 try {
17642 enterOuterAlt(_localctx, 1);
17643 {
17644 setState(1849);
17645 _errHandler.sync(this);
17646 switch (_input.LA(1)) {
17647 case NULL:
17648 {
17649 setState(1845);
17650 match(NULL);
17651 }
17652 break;
17653 case ERROR:
17654 {
17655 setState(1846);
17656 match(ERROR);
17657 }
17658 break;
17659 case DEFAULT:
17660 {
17661 setState(1847);
17662 match(DEFAULT);
17663 setState(1848);
17664 literals();
17665 }
17666 break;
17667 default:
17668 throw new NoViableAltException(this);
17669 }
17670 setState(1851);
17671 match(ON);
17672 setState(1852);
17673 _la = _input.LA(1);
17674 if ( !(_la==EMPTY || _la==ERROR) ) {
17675 _errHandler.recoverInline(this);
17676 }
17677 else {
17678 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
17679 _errHandler.reportMatch(this);
17680 consume();
17681 }
17682 }
17683 }
17684 catch (RecognitionException re) {
17685 _localctx.exception = re;
17686 _errHandler.reportError(this, re);
17687 _errHandler.recover(this, re);
17688 }
17689 finally {
17690 exitRule();
17691 }
17692 return _localctx;
17693 }
17694
17695 public static class ColumnRefContext extends ParserRuleContext {
17696 public List<IdentifierContext> identifier() {
17697 return getRuleContexts(IdentifierContext.class);
17698 }
17699 public IdentifierContext identifier(int i) {
17700 return getRuleContext(IdentifierContext.class,i);
17701 }
17702 public List<TerminalNode> DOT_() { return getTokens(HiveStatementParser.DOT_); }
17703 public TerminalNode DOT_(int i) {
17704 return getToken(HiveStatementParser.DOT_, i);
17705 }
17706 public ColumnRefContext(ParserRuleContext parent, int invokingState) {
17707 super(parent, invokingState);
17708 }
17709 @Override public int getRuleIndex() { return RULE_columnRef; }
17710 @Override
17711 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17712 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitColumnRef(this);
17713 else return visitor.visitChildren(this);
17714 }
17715 }
17716
17717 public final ColumnRefContext columnRef() throws RecognitionException {
17718 ColumnRefContext _localctx = new ColumnRefContext(_ctx, getState());
17719 enterRule(_localctx, 332, RULE_columnRef);
17720 try {
17721 enterOuterAlt(_localctx, 1);
17722 {
17723 setState(1854);
17724 identifier();
17725 setState(1857);
17726 _errHandler.sync(this);
17727 switch ( getInterpreter().adaptivePredict(_input,205,_ctx) ) {
17728 case 1:
17729 {
17730 setState(1855);
17731 match(DOT_);
17732 setState(1856);
17733 identifier();
17734 }
17735 break;
17736 }
17737 setState(1861);
17738 _errHandler.sync(this);
17739 switch ( getInterpreter().adaptivePredict(_input,206,_ctx) ) {
17740 case 1:
17741 {
17742 setState(1859);
17743 match(DOT_);
17744 setState(1860);
17745 identifier();
17746 }
17747 break;
17748 }
17749 }
17750 }
17751 catch (RecognitionException re) {
17752 _localctx.exception = re;
17753 _errHandler.reportError(this, re);
17754 _errHandler.recover(this, re);
17755 }
17756 finally {
17757 exitRule();
17758 }
17759 return _localctx;
17760 }
17761
17762 public static class ColumnRefListContext extends ParserRuleContext {
17763 public List<ColumnRefContext> columnRef() {
17764 return getRuleContexts(ColumnRefContext.class);
17765 }
17766 public ColumnRefContext columnRef(int i) {
17767 return getRuleContext(ColumnRefContext.class,i);
17768 }
17769 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
17770 public TerminalNode COMMA_(int i) {
17771 return getToken(HiveStatementParser.COMMA_, i);
17772 }
17773 public ColumnRefListContext(ParserRuleContext parent, int invokingState) {
17774 super(parent, invokingState);
17775 }
17776 @Override public int getRuleIndex() { return RULE_columnRefList; }
17777 @Override
17778 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17779 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitColumnRefList(this);
17780 else return visitor.visitChildren(this);
17781 }
17782 }
17783
17784 public final ColumnRefListContext columnRefList() throws RecognitionException {
17785 ColumnRefListContext _localctx = new ColumnRefListContext(_ctx, getState());
17786 enterRule(_localctx, 334, RULE_columnRefList);
17787 int _la;
17788 try {
17789 enterOuterAlt(_localctx, 1);
17790 {
17791 setState(1863);
17792 columnRef();
17793 setState(1868);
17794 _errHandler.sync(this);
17795 _la = _input.LA(1);
17796 while (_la==COMMA_) {
17797 {
17798 {
17799 setState(1864);
17800 match(COMMA_);
17801 setState(1865);
17802 columnRef();
17803 }
17804 }
17805 setState(1870);
17806 _errHandler.sync(this);
17807 _la = _input.LA(1);
17808 }
17809 }
17810 }
17811 catch (RecognitionException re) {
17812 _localctx.exception = re;
17813 _errHandler.reportError(this, re);
17814 _errHandler.recover(this, re);
17815 }
17816 finally {
17817 exitRule();
17818 }
17819 return _localctx;
17820 }
17821
17822 public static class FunctionCallContext extends ParserRuleContext {
17823 public AggregationFunctionContext aggregationFunction() {
17824 return getRuleContext(AggregationFunctionContext.class,0);
17825 }
17826 public SpecialFunctionContext specialFunction() {
17827 return getRuleContext(SpecialFunctionContext.class,0);
17828 }
17829 public RegularFunctionContext regularFunction() {
17830 return getRuleContext(RegularFunctionContext.class,0);
17831 }
17832 public JsonFunctionContext jsonFunction() {
17833 return getRuleContext(JsonFunctionContext.class,0);
17834 }
17835 public UdfFunctionContext udfFunction() {
17836 return getRuleContext(UdfFunctionContext.class,0);
17837 }
17838 public FunctionCallContext(ParserRuleContext parent, int invokingState) {
17839 super(parent, invokingState);
17840 }
17841 @Override public int getRuleIndex() { return RULE_functionCall; }
17842 @Override
17843 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17844 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFunctionCall(this);
17845 else return visitor.visitChildren(this);
17846 }
17847 }
17848
17849 public final FunctionCallContext functionCall() throws RecognitionException {
17850 FunctionCallContext _localctx = new FunctionCallContext(_ctx, getState());
17851 enterRule(_localctx, 336, RULE_functionCall);
17852 try {
17853 setState(1876);
17854 _errHandler.sync(this);
17855 switch ( getInterpreter().adaptivePredict(_input,208,_ctx) ) {
17856 case 1:
17857 enterOuterAlt(_localctx, 1);
17858 {
17859 setState(1871);
17860 aggregationFunction();
17861 }
17862 break;
17863 case 2:
17864 enterOuterAlt(_localctx, 2);
17865 {
17866 setState(1872);
17867 specialFunction();
17868 }
17869 break;
17870 case 3:
17871 enterOuterAlt(_localctx, 3);
17872 {
17873 setState(1873);
17874 regularFunction();
17875 }
17876 break;
17877 case 4:
17878 enterOuterAlt(_localctx, 4);
17879 {
17880 setState(1874);
17881 jsonFunction();
17882 }
17883 break;
17884 case 5:
17885 enterOuterAlt(_localctx, 5);
17886 {
17887 setState(1875);
17888 udfFunction();
17889 }
17890 break;
17891 }
17892 }
17893 catch (RecognitionException re) {
17894 _localctx.exception = re;
17895 _errHandler.reportError(this, re);
17896 _errHandler.recover(this, re);
17897 }
17898 finally {
17899 exitRule();
17900 }
17901 return _localctx;
17902 }
17903
17904 public static class UdfFunctionContext extends ParserRuleContext {
17905 public FunctionNameContext functionName() {
17906 return getRuleContext(FunctionNameContext.class,0);
17907 }
17908 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
17909 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
17910 public List<ExprContext> expr() {
17911 return getRuleContexts(ExprContext.class);
17912 }
17913 public ExprContext expr(int i) {
17914 return getRuleContext(ExprContext.class,i);
17915 }
17916 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
17917 public TerminalNode COMMA_(int i) {
17918 return getToken(HiveStatementParser.COMMA_, i);
17919 }
17920 public UdfFunctionContext(ParserRuleContext parent, int invokingState) {
17921 super(parent, invokingState);
17922 }
17923 @Override public int getRuleIndex() { return RULE_udfFunction; }
17924 @Override
17925 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17926 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitUdfFunction(this);
17927 else return visitor.visitChildren(this);
17928 }
17929 }
17930
17931 public final UdfFunctionContext udfFunction() throws RecognitionException {
17932 UdfFunctionContext _localctx = new UdfFunctionContext(_ctx, getState());
17933 enterRule(_localctx, 338, RULE_udfFunction);
17934 int _la;
17935 try {
17936 enterOuterAlt(_localctx, 1);
17937 {
17938 setState(1878);
17939 functionName();
17940 setState(1879);
17941 match(LP_);
17942 setState(1891);
17943 _errHandler.sync(this);
17944 switch ( getInterpreter().adaptivePredict(_input,211,_ctx) ) {
17945 case 1:
17946 {
17947 setState(1881);
17948 _errHandler.sync(this);
17949 _la = _input.LA(1);
17950 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << AT_) | (1L << MAX) | (1L << MIN) | (1L << SUM) | (1L << COUNT) | (1L << GROUP_CONCAT) | (1L << CAST) | (1L << POSITION) | (1L << SUBSTRING) | (1L << SUBSTR) | (1L << EXTRACT) | (1L << TRIM) | (1L << LAST_DAY) | (1L << TRADITIONAL) | (1L << TREE) | (1L << MYSQL_MAIN) | (1L << MYSQL_ADMIN) | (1L << INSTANT))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (INPLACE - 64)) | (1L << (COPY - 64)) | (1L << (UL_BINARY - 64)) | (1L << (AUTOCOMMIT - 64)) | (1L << (INNODB - 64)) | (1L << (REDO_LOG - 64)) | (1L << (ACCOUNT - 64)) | (1L << (ACTION - 64)) | (1L << (ACTIVE - 64)) | (1L << (ADMIN - 64)) | (1L << (AFTER - 64)) | (1L << (AGAINST - 64)) | (1L << (AGGREGATE - 64)) | (1L << (ALGORITHM - 64)) | (1L << (ALWAYS - 64)) | (1L << (ANY - 64)) | (1L << (ARRAY - 64)) | (1L << (ASCII - 64)) | (1L << (AT - 64)) | (1L << (ATTRIBUTE - 64)) | (1L << (AUTOEXTEND_SIZE - 64)) | (1L << (AUTO_INCREMENT - 64)) | (1L << (AVG - 64)) | (1L << (BIT_XOR - 64)) | (1L << (AVG_ROW_LENGTH - 64)) | (1L << (BACKUP - 64)) | (1L << (BEGIN - 64)) | (1L << (BINARY - 64)) | (1L << (BINLOG - 64)) | (1L << (BIT - 64)) | (1L << (BLOCK - 64)) | (1L << (BOOL - 64)) | (1L << (BOOLEAN - 64)) | (1L << (BTREE - 64)) | (1L << (BUCKETS - 64)) | (1L << (BYTE - 64)) | (1L << (CACHE - 64)) | (1L << (CASCADED - 64)) | (1L << (CASE - 64)) | (1L << (CATALOG_NAME - 64)) | (1L << (CHAIN - 64)) | (1L << (CHANGED - 64)) | (1L << (CHANNEL - 64)))) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & ((1L << (CHAR - 128)) | (1L << (CHARSET - 128)) | (1L << (CHECKSUM - 128)) | (1L << (CIPHER - 128)) | (1L << (CLASS_ORIGIN - 128)) | (1L << (CLIENT - 128)) | (1L << (CLONE - 128)) | (1L << (CLOSE - 128)) | (1L << (COALESCE - 128)) | (1L << (CODE - 128)) | (1L << (COLLATION - 128)) | (1L << (COLUMNS - 128)) | (1L << (COLUMN_FORMAT - 128)) | (1L << (COLUMN_NAME - 128)) | (1L << (COMMENT - 128)) | (1L << (COMMIT - 128)) | (1L << (COMMITTED - 128)) | (1L << (COMPACT - 128)) | (1L << (COMPLETION - 128)) | (1L << (COMPONENT - 128)) | (1L << (COMPRESSED - 128)) | (1L << (COMPRESSION - 128)) | (1L << (CONCURRENT - 128)) | (1L << (CONNECTION - 128)) | (1L << (CONSISTENT - 128)) | (1L << (CONSTRAINT_CATALOG - 128)) | (1L << (CONSTRAINT_NAME - 128)) | (1L << (CONSTRAINT_SCHEMA - 128)) | (1L << (CONTAINS - 128)) | (1L << (CONTEXT - 128)) | (1L << (CONVERT - 128)) | (1L << (CPU - 128)) | (1L << (CREATE - 128)) | (1L << (CUME_DIST - 128)) | (1L << (CURRENT - 128)) | (1L << (CURRENT_DATE - 128)) | (1L << (CURRENT_TIME - 128)) | (1L << (CURRENT_TIMESTAMP - 128)) | (1L << (CURRENT_USER - 128)) | (1L << (CURSOR_NAME - 128)) | (1L << (DATA - 128)) | (1L << (DATABASE - 128)) | (1L << (DATAFILE - 128)) | (1L << (DATE - 128)) | (1L << (DATETIME - 128)) | (1L << (DAY - 128)) | (1L << (DAY_MINUTE - 128)) | (1L << (DEALLOCATE - 128)))) != 0) || ((((_la - 196)) & ~0x3f) == 0 && ((1L << (_la - 196)) & ((1L << (DEFAULT_AUTH - 196)) | (1L << (DEFINER - 196)) | (1L << (DEFINITION - 196)) | (1L << (DELAY_KEY_WRITE - 196)) | (1L << (DENSE_RANK - 196)) | (1L << (DESCRIPTION - 196)) | (1L << (DIAGNOSTICS - 196)) | (1L << (DIRECTORY - 196)) | (1L << (DISABLE - 196)) | (1L << (DISCARD - 196)) | (1L << (DISK - 196)) | (1L << (DO - 196)) | (1L << (DUMPFILE - 196)) | (1L << (DUPLICATE - 196)) | (1L << (DYNAMIC - 196)) | (1L << (ENABLE - 196)) | (1L << (ENCRYPTION - 196)) | (1L << (END - 196)) | (1L << (ENDS - 196)) | (1L << (ENFORCED - 196)) | (1L << (ENGINE - 196)) | (1L << (ENGINES - 196)) | (1L << (ENGINE_ATTRIBUTE - 196)) | (1L << (ENUM - 196)) | (1L << (ERROR - 196)) | (1L << (ERRORS - 196)) | (1L << (ESCAPE - 196)) | (1L << (EVENT - 196)) | (1L << (EVENTS - 196)) | (1L << (EVERY - 196)) | (1L << (EXCHANGE - 196)) | (1L << (EXCLUDE - 196)) | (1L << (EXECUTE - 196)) | (1L << (EXISTS - 196)) | (1L << (EXPANSION - 196)) | (1L << (EXPIRE - 196)) | (1L << (EXPORT - 196)) | (1L << (EXTENDED - 196)) | (1L << (EXTENT_SIZE - 196)) | (1L << (FAILED_LOGIN_ATTEMPTS - 196)) | (1L << (FALSE - 196)) | (1L << (FAST - 196)) | (1L << (FAULTS - 196)))) != 0) || ((((_la - 260)) & ~0x3f) == 0 && ((1L << (_la - 260)) & ((1L << (FILE - 260)) | (1L << (FILE_BLOCK_SIZE - 260)) | (1L << (FILTER - 260)) | (1L << (FIRST - 260)) | (1L << (FIRST_VALUE - 260)) | (1L << (FIXED - 260)) | (1L << (FLUSH - 260)) | (1L << (FOLLOWING - 260)) | (1L << (FOLLOWS - 260)) | (1L << (FORMAT - 260)) | (1L << (FOUND - 260)) | (1L << (FULL - 260)) | (1L << (GENERAL - 260)) | (1L << (GEOMETRY - 260)) | (1L << (GEOMETRYCOLLECTION - 260)) | (1L << (GET_FORMAT - 260)) | (1L << (GET_MASTER_PUBLIC_KEY - 260)) | (1L << (GLOBAL - 260)) | (1L << (GRANTS - 260)) | (1L << (GROUP_REPLICATION - 260)) | (1L << (HANDLER - 260)) | (1L << (HASH - 260)) | (1L << (HELP - 260)) | (1L << (HISTOGRAM - 260)) | (1L << (HISTORY - 260)) | (1L << (HOST - 260)) | (1L << (HOSTS - 260)) | (1L << (HOUR - 260)) | (1L << (IDENTIFIED - 260)) | (1L << (IF - 260)) | (1L << (IGNORE_SERVER_IDS - 260)) | (1L << (IMPORT - 260)) | (1L << (INACTIVE - 260)) | (1L << (INDEXES - 260)) | (1L << (INITIAL_SIZE - 260)))) != 0) || ((((_la - 326)) & ~0x3f) == 0 && ((1L << (_la - 326)) & ((1L << (INSERT - 326)) | (1L << (INSERT_METHOD - 326)) | (1L << (INSTALL - 326)) | (1L << (INSTANCE - 326)) | (1L << (INTERVAL - 326)) | (1L << (INVISIBLE - 326)) | (1L << (INVOKER - 326)) | (1L << (IO - 326)) | (1L << (IPC - 326)) | (1L << (ISOLATION - 326)) | (1L << (ISSUER - 326)) | (1L << (JSON - 326)) | (1L << (JSON_TABLE - 326)) | (1L << (JSON_VALUE - 326)) | (1L << (KEY - 326)) | (1L << (KEY_BLOCK_SIZE - 326)) | (1L << (LAG - 326)) | (1L << (LANGUAGE - 326)) | (1L << (LAST - 326)) | (1L << (LAST_VALUE - 326)) | (1L << (LEAD - 326)) | (1L << (LEAVES - 326)) | (1L << (LEFT - 326)) | (1L << (LESS - 326)) | (1L << (LEVEL - 326)) | (1L << (LINESTRING - 326)) | (1L << (LIST - 326)) | (1L << (LOCAL - 326)) | (1L << (LOCALTIME - 326)) | (1L << (LOCALTIMESTAMP - 326)) | (1L << (LOCKED - 326)) | (1L << (LOCKS - 326)) | (1L << (LOGFILE - 326)) | (1L << (LOGS - 326)))) != 0) || ((((_la - 391)) & ~0x3f) == 0 && ((1L << (_la - 391)) & ((1L << (MASTER - 391)) | (1L << (MASTER_AUTO_POSITION - 391)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 391)) | (1L << (MASTER_CONNECT_RETRY - 391)) | (1L << (MASTER_DELAY - 391)) | (1L << (MASTER_HEARTBEAT_PERIOD - 391)) | (1L << (MASTER_HOST - 391)) | (1L << (MASTER_LOG_FILE - 391)) | (1L << (MASTER_LOG_POS - 391)) | (1L << (MASTER_PASSWORD - 391)) | (1L << (MASTER_PORT - 391)) | (1L << (MASTER_PUBLIC_KEY_PATH - 391)) | (1L << (MASTER_RETRY_COUNT - 391)) | (1L << (MASTER_SERVER_ID - 391)) | (1L << (MASTER_SSL - 391)) | (1L << (MASTER_SSL_CA - 391)) | (1L << (MASTER_SSL_CAPATH - 391)) | (1L << (MASTER_SSL_CERT - 391)) | (1L << (MASTER_SSL_CIPHER - 391)) | (1L << (MASTER_SSL_CRL - 391)) | (1L << (MASTER_SSL_CRLPATH - 391)) | (1L << (MASTER_SSL_KEY - 391)) | (1L << (MASTER_TLS_CIPHERSUITES - 391)) | (1L << (MASTER_TLS_VERSION - 391)) | (1L << (MASTER_USER - 391)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 391)) | (1L << (MATCH - 391)) | (1L << (MAXVALUE - 391)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 391)) | (1L << (MAX_QUERIES_PER_HOUR - 391)) | (1L << (MAX_ROWS - 391)) | (1L << (MAX_SIZE - 391)) | (1L << (MAX_UPDATES_PER_HOUR - 391)) | (1L << (MAX_USER_CONNECTIONS - 391)) | (1L << (MEDIUM - 391)) | (1L << (MEMBER - 391)) | (1L << (MEMORY - 391)) | (1L << (MERGE - 391)) | (1L << (MESSAGE_TEXT - 391)) | (1L << (MICROSECOND - 391)) | (1L << (MIGRATE - 391)) | (1L << (MINUTE - 391)) | (1L << (MIN_ROWS - 391)) | (1L << (MOD - 391)) | (1L << (MODE - 391)) | (1L << (MODIFY - 391)) | (1L << (MONTH - 391)) | (1L << (MULTILINESTRING - 391)) | (1L << (MULTIPOINT - 391)) | (1L << (MULTIPOLYGON - 391)) | (1L << (MUTEX - 391)) | (1L << (MYSQL_ERRNO - 391)) | (1L << (NAME - 391)) | (1L << (NAMES - 391)) | (1L << (NATIONAL - 391)))) != 0) || ((((_la - 458)) & ~0x3f) == 0 && ((1L << (_la - 458)) & ((1L << (NCHAR - 458)) | (1L << (NDBCLUSTER - 458)) | (1L << (NESTED - 458)) | (1L << (NETWORK_NAMESPACE - 458)) | (1L << (NEVER - 458)) | (1L << (NEW - 458)) | (1L << (NEXT - 458)) | (1L << (NO - 458)) | (1L << (NODEGROUP - 458)) | (1L << (NONE - 458)) | (1L << (NOT - 458)) | (1L << (NOWAIT - 458)) | (1L << (NO_WAIT - 458)) | (1L << (NTH_VALUE - 458)) | (1L << (NTILE - 458)) | (1L << (NULL - 458)) | (1L << (NULLS - 458)) | (1L << (NUMBER - 458)) | (1L << (NVARCHAR - 458)) | (1L << (OFF - 458)) | (1L << (OFFSET - 458)) | (1L << (OJ - 458)) | (1L << (OLD - 458)) | (1L << (ONE - 458)) | (1L << (ONLY - 458)) | (1L << (OPEN - 458)) | (1L << (OPTIONAL - 458)) | (1L << (OPTIONS - 458)) | (1L << (ORDINALITY - 458)) | (1L << (ORGANIZATION - 458)) | (1L << (OTHERS - 458)) | (1L << (OWNER - 458)) | (1L << (PACK_KEYS - 458)) | (1L << (PAGE - 458)) | (1L << (PARSER - 458)) | (1L << (PARTIAL - 458)) | (1L << (PARTITIONING - 458)) | (1L << (PARTITIONS - 458)) | (1L << (PASSWORD - 458)) | (1L << (PASSWORD_LOCK_TIME - 458)) | (1L << (PATH - 458)) | (1L << (PERCENT_RANK - 458)) | (1L << (PERSIST - 458)) | (1L << (PERSIST_ONLY - 458)) | (1L << (PHASE - 458)) | (1L << (PLUGIN - 458)) | (1L << (PLUGINS - 458)))) != 0) || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (PLUGIN_DIR - 522)) | (1L << (POINT - 522)) | (1L << (POLYGON - 522)) | (1L << (PORT - 522)) | (1L << (PRECEDES - 522)) | (1L << (PRECEDING - 522)) | (1L << (PREPARE - 522)) | (1L << (PRESERVE - 522)) | (1L << (PREV - 522)) | (1L << (PRIMARY - 522)) | (1L << (PRIVILEGES - 522)) | (1L << (PRIVILEGE_CHECKS_USER - 522)) | (1L << (PROCESS - 522)) | (1L << (PROCESSLIST - 522)) | (1L << (PROFILE - 522)) | (1L << (PROFILES - 522)) | (1L << (PROXY - 522)) | (1L << (QUARTER - 522)) | (1L << (QUERY - 522)) | (1L << (QUICK - 522)) | (1L << (RANDOM - 522)) | (1L << (RANK - 522)) | (1L << (READ_ONLY - 522)) | (1L << (REBUILD - 522)) | (1L << (RECOVER - 522)) | (1L << (REDO_BUFFER_SIZE - 522)) | (1L << (REDUNDANT - 522)) | (1L << (REFERENCE - 522)) | (1L << (RELAY - 522)) | (1L << (RELAYLOG - 522)) | (1L << (RELAY_LOG_FILE - 522)) | (1L << (RELAY_LOG_POS - 522)) | (1L << (RELAY_THREAD - 522)) | (1L << (RELOAD - 522)) | (1L << (REMOVE - 522)) | (1L << (REORGANIZE - 522)) | (1L << (REPAIR - 522)) | (1L << (REPEAT - 522)) | (1L << (REPEATABLE - 522)) | (1L << (REPLACE - 522)) | (1L << (REPLICATE_DO_DB - 522)) | (1L << (REPLICATE_DO_TABLE - 522)) | (1L << (REPLICATE_IGNORE_DB - 522)) | (1L << (REPLICATE_IGNORE_TABLE - 522)) | (1L << (REPLICATE_REWRITE_DB - 522)) | (1L << (REPLICATE_WILD_DO_TABLE - 522)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 522)) | (1L << (REPLICATION - 522)))) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & ((1L << (REQUIRE_ROW_FORMAT - 586)) | (1L << (RESET - 586)) | (1L << (RESOURCE - 586)) | (1L << (RESPECT - 586)) | (1L << (RESTART - 586)) | (1L << (RESTORE - 586)) | (1L << (RESUME - 586)) | (1L << (RETAIN - 586)) | (1L << (RETURNED_SQLSTATE - 586)) | (1L << (RETURNING - 586)) | (1L << (RETURNS - 586)) | (1L << (REUSE - 586)) | (1L << (REVERSE - 586)) | (1L << (RIGHT - 586)) | (1L << (ROLE - 586)) | (1L << (ROLLBACK - 586)) | (1L << (ROLLUP - 586)) | (1L << (ROTATE - 586)) | (1L << (ROUTINE - 586)) | (1L << (ROW - 586)) | (1L << (ROW_COUNT - 586)) | (1L << (ROW_FORMAT - 586)) | (1L << (ROW_NUMBER - 586)) | (1L << (RTREE - 586)) | (1L << (SAVEPOINT - 586)) | (1L << (SCHEDULE - 586)) | (1L << (SCHEMA - 586)) | (1L << (SCHEMA_NAME - 586)) | (1L << (SECOND - 586)) | (1L << (SECONDARY - 586)) | (1L << (SECONDARY_ENGINE - 586)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 586)) | (1L << (SECONDARY_LOAD - 586)) | (1L << (SECONDARY_UNLOAD - 586)) | (1L << (SECURITY - 586)) | (1L << (SERIAL - 586)) | (1L << (SERIALIZABLE - 586)) | (1L << (SERVER - 586)) | (1L << (SESSION - 586)) | (1L << (SHARE - 586)) | (1L << (SHUTDOWN - 586)) | (1L << (SIGNED - 586)) | (1L << (SIMPLE - 586)) | (1L << (SLAVE - 586)) | (1L << (SLOW - 586)))) != 0) || ((((_la - 650)) & ~0x3f) == 0 && ((1L << (_la - 650)) & ((1L << (SNAPSHOT - 650)) | (1L << (SOCKET - 650)) | (1L << (SONAME - 650)) | (1L << (SOUNDS - 650)) | (1L << (SOURCE - 650)) | (1L << (SQL_AFTER_GTIDS - 650)) | (1L << (SQL_AFTER_MTS_GAPS - 650)) | (1L << (SQL_BEFORE_GTIDS - 650)) | (1L << (SQL_BUFFER_RESULT - 650)) | (1L << (SQL_NO_CACHE - 650)) | (1L << (SQL_THREAD - 650)) | (1L << (SRID - 650)) | (1L << (STACKED - 650)) | (1L << (START - 650)) | (1L << (STARTS - 650)) | (1L << (STATS_AUTO_RECALC - 650)) | (1L << (STATS_PERSISTENT - 650)) | (1L << (STATS_SAMPLE_PAGES - 650)) | (1L << (STATUS - 650)) | (1L << (STOP - 650)) | (1L << (STORAGE - 650)) | (1L << (STREAM - 650)) | (1L << (STRING - 650)) | (1L << (SUBCLASS_ORIGIN - 650)) | (1L << (SUBJECT - 650)) | (1L << (SUBPARTITION - 650)) | (1L << (SUBPARTITIONS - 650)) | (1L << (SUPER - 650)) | (1L << (SUSPEND - 650)) | (1L << (SWAPS - 650)) | (1L << (SWITCHES - 650)) | (1L << (SYSTEM - 650)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (TABLE - 722)) | (1L << (TABLES - 722)) | (1L << (TABLESPACE - 722)) | (1L << (TABLE_CHECKSUM - 722)) | (1L << (TABLE_NAME - 722)) | (1L << (TEMPORARY - 722)) | (1L << (TEMPTABLE - 722)) | (1L << (TEXT - 722)) | (1L << (THAN - 722)) | (1L << (THREAD_PRIORITY - 722)) | (1L << (TIES - 722)) | (1L << (TIME - 722)) | (1L << (TIMESTAMP - 722)) | (1L << (TIMESTAMP_ADD - 722)) | (1L << (TIMESTAMP_DIFF - 722)) | (1L << (TLS - 722)) | (1L << (TRANSACTION - 722)) | (1L << (TRIGGERS - 722)) | (1L << (TRUE - 722)) | (1L << (TRUNCATE - 722)) | (1L << (TYPE - 722)) | (1L << (TYPES - 722)) | (1L << (UNBOUNDED - 722)) | (1L << (UNCOMMITTED - 722)) | (1L << (UNDEFINED - 722)) | (1L << (UNDOFILE - 722)) | (1L << (UNDO_BUFFER_SIZE - 722)) | (1L << (UNICODE - 722)) | (1L << (UNINSTALL - 722)) | (1L << (UNKNOWN - 722)) | (1L << (UNTIL - 722)) | (1L << (UPGRADE - 722)) | (1L << (USER - 722)) | (1L << (USER_RESOURCES - 722)) | (1L << (USE_FRM - 722)) | (1L << (UTC_DATE - 722)) | (1L << (UTC_TIME - 722)) | (1L << (UTC_TIMESTAMP - 722)) | (1L << (VALIDATION - 722)) | (1L << (VALUE - 722)) | (1L << (VALUES - 722)) | (1L << (VARIABLES - 722)))) != 0) || ((((_la - 787)) & ~0x3f) == 0 && ((1L << (_la - 787)) & ((1L << (VCPU - 787)) | (1L << (VIEW - 787)) | (1L << (VISIBLE - 787)) | (1L << (WAIT - 787)) | (1L << (WARNINGS - 787)) | (1L << (WEEK - 787)) | (1L << (WEIGHT_STRING - 787)) | (1L << (WITHOUT - 787)) | (1L << (WORK - 787)) | (1L << (WRAPPER - 787)) | (1L << (X509 - 787)) | (1L << (XA - 787)) | (1L << (XID - 787)) | (1L << (XML - 787)) | (1L << (YEAR - 787)) | (1L << (YEAR_MONTH - 787)) | (1L << (JSON_ARRAY - 787)) | (1L << (JSON_ARRAY_APPEND - 787)) | (1L << (JSON_ARRAY_INSERT - 787)) | (1L << (JSON_CONTAINS - 787)) | (1L << (JSON_CONTAINS_PATH - 787)) | (1L << (JSON_DEPTH - 787)) | (1L << (JSON_EXTRACT - 787)) | (1L << (JSON_INSERT - 787)) | (1L << (JSON_KEYS - 787)) | (1L << (JSON_LENGTH - 787)) | (1L << (JSON_MERGE - 787)) | (1L << (JSON_MERGE_PATCH - 787)) | (1L << (JSON_MERGE_PRESERVE - 787)) | (1L << (JSON_OBJECT - 787)) | (1L << (JSON_OVERLAPS - 787)) | (1L << (JSON_PRETTY - 787)) | (1L << (JSON_QUOTE - 787)) | (1L << (JSON_REMOVE - 787)) | (1L << (JSON_REPLACE - 787)) | (1L << (JSON_SCHEMA_VALID - 787)) | (1L << (JSON_SCHEMA_VALIDATION_REPORT - 787)) | (1L << (JSON_SEARCH - 787)) | (1L << (JSON_SET - 787)) | (1L << (JSON_STORAGE_FREE - 787)) | (1L << (JSON_STORAGE_SIZE - 787)) | (1L << (JSON_TYPE - 787)) | (1L << (JSON_UNQUOTE - 787)) | (1L << (JSON_VALID - 787)) | (1L << (SINGLE_QUOTED_TEXT - 787)) | (1L << (DOUBLE_QUOTED_TEXT - 787)) | (1L << (BQUOTA_STRING - 787)) | (1L << (NCHAR_TEXT - 787)) | (1L << (UNDERSCORE_CHARSET - 787)) | (1L << (NUMBER_ - 787)))) != 0) || ((((_la - 851)) & ~0x3f) == 0 && ((1L << (_la - 851)) & ((1L << (HEX_DIGIT_ - 851)) | (1L << (BIT_NUM_ - 851)) | (1L << (IDENTIFIER_ - 851)) | (1L << (IP_ADDRESS - 851)))) != 0)) {
17951 {
17952 setState(1880);
17953 expr(0);
17954 }
17955 }
17956
17957 }
17958 break;
17959 case 2:
17960 {
17961 setState(1883);
17962 expr(0);
17963 setState(1888);
17964 _errHandler.sync(this);
17965 _la = _input.LA(1);
17966 while (_la==COMMA_) {
17967 {
17968 {
17969 setState(1884);
17970 match(COMMA_);
17971 setState(1885);
17972 expr(0);
17973 }
17974 }
17975 setState(1890);
17976 _errHandler.sync(this);
17977 _la = _input.LA(1);
17978 }
17979 }
17980 break;
17981 }
17982 setState(1893);
17983 match(RP_);
17984 }
17985 }
17986 catch (RecognitionException re) {
17987 _localctx.exception = re;
17988 _errHandler.reportError(this, re);
17989 _errHandler.recover(this, re);
17990 }
17991 finally {
17992 exitRule();
17993 }
17994 return _localctx;
17995 }
17996
17997 public static class AggregationFunctionContext extends ParserRuleContext {
17998 public AggregationFunctionNameContext aggregationFunctionName() {
17999 return getRuleContext(AggregationFunctionNameContext.class,0);
18000 }
18001 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
18002 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
18003 public DistinctContext distinct() {
18004 return getRuleContext(DistinctContext.class,0);
18005 }
18006 public List<ExprContext> expr() {
18007 return getRuleContexts(ExprContext.class);
18008 }
18009 public ExprContext expr(int i) {
18010 return getRuleContext(ExprContext.class,i);
18011 }
18012 public TerminalNode ASTERISK_() { return getToken(HiveStatementParser.ASTERISK_, 0); }
18013 public CollateClauseContext collateClause() {
18014 return getRuleContext(CollateClauseContext.class,0);
18015 }
18016 public OverClauseContext overClause() {
18017 return getRuleContext(OverClauseContext.class,0);
18018 }
18019 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
18020 public TerminalNode COMMA_(int i) {
18021 return getToken(HiveStatementParser.COMMA_, i);
18022 }
18023 public AggregationFunctionContext(ParserRuleContext parent, int invokingState) {
18024 super(parent, invokingState);
18025 }
18026 @Override public int getRuleIndex() { return RULE_aggregationFunction; }
18027 @Override
18028 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18029 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitAggregationFunction(this);
18030 else return visitor.visitChildren(this);
18031 }
18032 }
18033
18034 public final AggregationFunctionContext aggregationFunction() throws RecognitionException {
18035 AggregationFunctionContext _localctx = new AggregationFunctionContext(_ctx, getState());
18036 enterRule(_localctx, 340, RULE_aggregationFunction);
18037 int _la;
18038 try {
18039 enterOuterAlt(_localctx, 1);
18040 {
18041 setState(1895);
18042 aggregationFunctionName();
18043 setState(1896);
18044 match(LP_);
18045 setState(1898);
18046 _errHandler.sync(this);
18047 _la = _input.LA(1);
18048 if (_la==DISTINCT) {
18049 {
18050 setState(1897);
18051 distinct();
18052 }
18053 }
18054
18055 setState(1909);
18056 _errHandler.sync(this);
18057 switch (_input.LA(1)) {
18058 case NOT_:
18059 case TILDE_:
18060 case PLUS_:
18061 case MINUS_:
18062 case LP_:
18063 case LBE_:
18064 case QUESTION_:
18065 case AT_:
18066 case MAX:
18067 case MIN:
18068 case SUM:
18069 case COUNT:
18070 case GROUP_CONCAT:
18071 case CAST:
18072 case POSITION:
18073 case SUBSTRING:
18074 case SUBSTR:
18075 case EXTRACT:
18076 case TRIM:
18077 case LAST_DAY:
18078 case TRADITIONAL:
18079 case TREE:
18080 case MYSQL_MAIN:
18081 case MYSQL_ADMIN:
18082 case INSTANT:
18083 case INPLACE:
18084 case COPY:
18085 case UL_BINARY:
18086 case AUTOCOMMIT:
18087 case INNODB:
18088 case REDO_LOG:
18089 case ACCOUNT:
18090 case ACTION:
18091 case ACTIVE:
18092 case ADMIN:
18093 case AFTER:
18094 case AGAINST:
18095 case AGGREGATE:
18096 case ALGORITHM:
18097 case ALWAYS:
18098 case ANY:
18099 case ARRAY:
18100 case ASCII:
18101 case AT:
18102 case ATTRIBUTE:
18103 case AUTOEXTEND_SIZE:
18104 case AUTO_INCREMENT:
18105 case AVG:
18106 case BIT_XOR:
18107 case AVG_ROW_LENGTH:
18108 case BACKUP:
18109 case BEGIN:
18110 case BINARY:
18111 case BINLOG:
18112 case BIT:
18113 case BLOCK:
18114 case BOOL:
18115 case BOOLEAN:
18116 case BTREE:
18117 case BUCKETS:
18118 case BYTE:
18119 case CACHE:
18120 case CASCADED:
18121 case CASE:
18122 case CATALOG_NAME:
18123 case CHAIN:
18124 case CHANGED:
18125 case CHANNEL:
18126 case CHAR:
18127 case CHARSET:
18128 case CHECKSUM:
18129 case CIPHER:
18130 case CLASS_ORIGIN:
18131 case CLIENT:
18132 case CLONE:
18133 case CLOSE:
18134 case COALESCE:
18135 case CODE:
18136 case COLLATION:
18137 case COLUMNS:
18138 case COLUMN_FORMAT:
18139 case COLUMN_NAME:
18140 case COMMENT:
18141 case COMMIT:
18142 case COMMITTED:
18143 case COMPACT:
18144 case COMPLETION:
18145 case COMPONENT:
18146 case COMPRESSED:
18147 case COMPRESSION:
18148 case CONCURRENT:
18149 case CONNECTION:
18150 case CONSISTENT:
18151 case CONSTRAINT_CATALOG:
18152 case CONSTRAINT_NAME:
18153 case CONSTRAINT_SCHEMA:
18154 case CONTAINS:
18155 case CONTEXT:
18156 case CONVERT:
18157 case CPU:
18158 case CREATE:
18159 case CUME_DIST:
18160 case CURRENT:
18161 case CURRENT_DATE:
18162 case CURRENT_TIME:
18163 case CURRENT_TIMESTAMP:
18164 case CURRENT_USER:
18165 case CURSOR_NAME:
18166 case DATA:
18167 case DATABASE:
18168 case DATAFILE:
18169 case DATE:
18170 case DATETIME:
18171 case DAY:
18172 case DAY_MINUTE:
18173 case DEALLOCATE:
18174 case DEFAULT_AUTH:
18175 case DEFINER:
18176 case DEFINITION:
18177 case DELAY_KEY_WRITE:
18178 case DENSE_RANK:
18179 case DESCRIPTION:
18180 case DIAGNOSTICS:
18181 case DIRECTORY:
18182 case DISABLE:
18183 case DISCARD:
18184 case DISK:
18185 case DO:
18186 case DUMPFILE:
18187 case DUPLICATE:
18188 case DYNAMIC:
18189 case ENABLE:
18190 case ENCRYPTION:
18191 case END:
18192 case ENDS:
18193 case ENFORCED:
18194 case ENGINE:
18195 case ENGINES:
18196 case ENGINE_ATTRIBUTE:
18197 case ENUM:
18198 case ERROR:
18199 case ERRORS:
18200 case ESCAPE:
18201 case EVENT:
18202 case EVENTS:
18203 case EVERY:
18204 case EXCHANGE:
18205 case EXCLUDE:
18206 case EXECUTE:
18207 case EXISTS:
18208 case EXPANSION:
18209 case EXPIRE:
18210 case EXPORT:
18211 case EXTENDED:
18212 case EXTENT_SIZE:
18213 case FAILED_LOGIN_ATTEMPTS:
18214 case FALSE:
18215 case FAST:
18216 case FAULTS:
18217 case FILE:
18218 case FILE_BLOCK_SIZE:
18219 case FILTER:
18220 case FIRST:
18221 case FIRST_VALUE:
18222 case FIXED:
18223 case FLUSH:
18224 case FOLLOWING:
18225 case FOLLOWS:
18226 case FORMAT:
18227 case FOUND:
18228 case FULL:
18229 case GENERAL:
18230 case GEOMETRY:
18231 case GEOMETRYCOLLECTION:
18232 case GET_FORMAT:
18233 case GET_MASTER_PUBLIC_KEY:
18234 case GLOBAL:
18235 case GRANTS:
18236 case GROUP_REPLICATION:
18237 case HANDLER:
18238 case HASH:
18239 case HELP:
18240 case HISTOGRAM:
18241 case HISTORY:
18242 case HOST:
18243 case HOSTS:
18244 case HOUR:
18245 case IDENTIFIED:
18246 case IF:
18247 case IGNORE_SERVER_IDS:
18248 case IMPORT:
18249 case INACTIVE:
18250 case INDEXES:
18251 case INITIAL_SIZE:
18252 case INSERT:
18253 case INSERT_METHOD:
18254 case INSTALL:
18255 case INSTANCE:
18256 case INTERVAL:
18257 case INVISIBLE:
18258 case INVOKER:
18259 case IO:
18260 case IPC:
18261 case ISOLATION:
18262 case ISSUER:
18263 case JSON:
18264 case JSON_TABLE:
18265 case JSON_VALUE:
18266 case KEY:
18267 case KEY_BLOCK_SIZE:
18268 case LAG:
18269 case LANGUAGE:
18270 case LAST:
18271 case LAST_VALUE:
18272 case LEAD:
18273 case LEAVES:
18274 case LEFT:
18275 case LESS:
18276 case LEVEL:
18277 case LINESTRING:
18278 case LIST:
18279 case LOCAL:
18280 case LOCALTIME:
18281 case LOCALTIMESTAMP:
18282 case LOCKED:
18283 case LOCKS:
18284 case LOGFILE:
18285 case LOGS:
18286 case MASTER:
18287 case MASTER_AUTO_POSITION:
18288 case MASTER_COMPRESSION_ALGORITHM:
18289 case MASTER_CONNECT_RETRY:
18290 case MASTER_DELAY:
18291 case MASTER_HEARTBEAT_PERIOD:
18292 case MASTER_HOST:
18293 case MASTER_LOG_FILE:
18294 case MASTER_LOG_POS:
18295 case MASTER_PASSWORD:
18296 case MASTER_PORT:
18297 case MASTER_PUBLIC_KEY_PATH:
18298 case MASTER_RETRY_COUNT:
18299 case MASTER_SERVER_ID:
18300 case MASTER_SSL:
18301 case MASTER_SSL_CA:
18302 case MASTER_SSL_CAPATH:
18303 case MASTER_SSL_CERT:
18304 case MASTER_SSL_CIPHER:
18305 case MASTER_SSL_CRL:
18306 case MASTER_SSL_CRLPATH:
18307 case MASTER_SSL_KEY:
18308 case MASTER_TLS_CIPHERSUITES:
18309 case MASTER_TLS_VERSION:
18310 case MASTER_USER:
18311 case MASTER_ZSTD_COMPRESSION_LEVEL:
18312 case MATCH:
18313 case MAXVALUE:
18314 case MAX_CONNECTIONS_PER_HOUR:
18315 case MAX_QUERIES_PER_HOUR:
18316 case MAX_ROWS:
18317 case MAX_SIZE:
18318 case MAX_UPDATES_PER_HOUR:
18319 case MAX_USER_CONNECTIONS:
18320 case MEDIUM:
18321 case MEMBER:
18322 case MEMORY:
18323 case MERGE:
18324 case MESSAGE_TEXT:
18325 case MICROSECOND:
18326 case MIGRATE:
18327 case MINUTE:
18328 case MIN_ROWS:
18329 case MOD:
18330 case MODE:
18331 case MODIFY:
18332 case MONTH:
18333 case MULTILINESTRING:
18334 case MULTIPOINT:
18335 case MULTIPOLYGON:
18336 case MUTEX:
18337 case MYSQL_ERRNO:
18338 case NAME:
18339 case NAMES:
18340 case NATIONAL:
18341 case NCHAR:
18342 case NDBCLUSTER:
18343 case NESTED:
18344 case NETWORK_NAMESPACE:
18345 case NEVER:
18346 case NEW:
18347 case NEXT:
18348 case NO:
18349 case NODEGROUP:
18350 case NONE:
18351 case NOT:
18352 case NOWAIT:
18353 case NO_WAIT:
18354 case NTH_VALUE:
18355 case NTILE:
18356 case NULL:
18357 case NULLS:
18358 case NUMBER:
18359 case NVARCHAR:
18360 case OFF:
18361 case OFFSET:
18362 case OJ:
18363 case OLD:
18364 case ONE:
18365 case ONLY:
18366 case OPEN:
18367 case OPTIONAL:
18368 case OPTIONS:
18369 case ORDINALITY:
18370 case ORGANIZATION:
18371 case OTHERS:
18372 case OWNER:
18373 case PACK_KEYS:
18374 case PAGE:
18375 case PARSER:
18376 case PARTIAL:
18377 case PARTITIONING:
18378 case PARTITIONS:
18379 case PASSWORD:
18380 case PASSWORD_LOCK_TIME:
18381 case PATH:
18382 case PERCENT_RANK:
18383 case PERSIST:
18384 case PERSIST_ONLY:
18385 case PHASE:
18386 case PLUGIN:
18387 case PLUGINS:
18388 case PLUGIN_DIR:
18389 case POINT:
18390 case POLYGON:
18391 case PORT:
18392 case PRECEDES:
18393 case PRECEDING:
18394 case PREPARE:
18395 case PRESERVE:
18396 case PREV:
18397 case PRIMARY:
18398 case PRIVILEGES:
18399 case PRIVILEGE_CHECKS_USER:
18400 case PROCESS:
18401 case PROCESSLIST:
18402 case PROFILE:
18403 case PROFILES:
18404 case PROXY:
18405 case QUARTER:
18406 case QUERY:
18407 case QUICK:
18408 case RANDOM:
18409 case RANK:
18410 case READ_ONLY:
18411 case REBUILD:
18412 case RECOVER:
18413 case REDO_BUFFER_SIZE:
18414 case REDUNDANT:
18415 case REFERENCE:
18416 case RELAY:
18417 case RELAYLOG:
18418 case RELAY_LOG_FILE:
18419 case RELAY_LOG_POS:
18420 case RELAY_THREAD:
18421 case RELOAD:
18422 case REMOVE:
18423 case REORGANIZE:
18424 case REPAIR:
18425 case REPEAT:
18426 case REPEATABLE:
18427 case REPLACE:
18428 case REPLICATE_DO_DB:
18429 case REPLICATE_DO_TABLE:
18430 case REPLICATE_IGNORE_DB:
18431 case REPLICATE_IGNORE_TABLE:
18432 case REPLICATE_REWRITE_DB:
18433 case REPLICATE_WILD_DO_TABLE:
18434 case REPLICATE_WILD_IGNORE_TABLE:
18435 case REPLICATION:
18436 case REQUIRE_ROW_FORMAT:
18437 case RESET:
18438 case RESOURCE:
18439 case RESPECT:
18440 case RESTART:
18441 case RESTORE:
18442 case RESUME:
18443 case RETAIN:
18444 case RETURNED_SQLSTATE:
18445 case RETURNING:
18446 case RETURNS:
18447 case REUSE:
18448 case REVERSE:
18449 case RIGHT:
18450 case ROLE:
18451 case ROLLBACK:
18452 case ROLLUP:
18453 case ROTATE:
18454 case ROUTINE:
18455 case ROW:
18456 case ROW_COUNT:
18457 case ROW_FORMAT:
18458 case ROW_NUMBER:
18459 case RTREE:
18460 case SAVEPOINT:
18461 case SCHEDULE:
18462 case SCHEMA:
18463 case SCHEMA_NAME:
18464 case SECOND:
18465 case SECONDARY:
18466 case SECONDARY_ENGINE:
18467 case SECONDARY_ENGINE_ATTRIBUTE:
18468 case SECONDARY_LOAD:
18469 case SECONDARY_UNLOAD:
18470 case SECURITY:
18471 case SERIAL:
18472 case SERIALIZABLE:
18473 case SERVER:
18474 case SESSION:
18475 case SHARE:
18476 case SHUTDOWN:
18477 case SIGNED:
18478 case SIMPLE:
18479 case SLAVE:
18480 case SLOW:
18481 case SNAPSHOT:
18482 case SOCKET:
18483 case SONAME:
18484 case SOUNDS:
18485 case SOURCE:
18486 case SQL_AFTER_GTIDS:
18487 case SQL_AFTER_MTS_GAPS:
18488 case SQL_BEFORE_GTIDS:
18489 case SQL_BUFFER_RESULT:
18490 case SQL_NO_CACHE:
18491 case SQL_THREAD:
18492 case SRID:
18493 case STACKED:
18494 case START:
18495 case STARTS:
18496 case STATS_AUTO_RECALC:
18497 case STATS_PERSISTENT:
18498 case STATS_SAMPLE_PAGES:
18499 case STATUS:
18500 case STOP:
18501 case STORAGE:
18502 case STREAM:
18503 case STRING:
18504 case SUBCLASS_ORIGIN:
18505 case SUBJECT:
18506 case SUBPARTITION:
18507 case SUBPARTITIONS:
18508 case SUPER:
18509 case SUSPEND:
18510 case SWAPS:
18511 case SWITCHES:
18512 case SYSTEM:
18513 case TABLE:
18514 case TABLES:
18515 case TABLESPACE:
18516 case TABLE_CHECKSUM:
18517 case TABLE_NAME:
18518 case TEMPORARY:
18519 case TEMPTABLE:
18520 case TEXT:
18521 case THAN:
18522 case THREAD_PRIORITY:
18523 case TIES:
18524 case TIME:
18525 case TIMESTAMP:
18526 case TIMESTAMP_ADD:
18527 case TIMESTAMP_DIFF:
18528 case TLS:
18529 case TRANSACTION:
18530 case TRIGGERS:
18531 case TRUE:
18532 case TRUNCATE:
18533 case TYPE:
18534 case TYPES:
18535 case UNBOUNDED:
18536 case UNCOMMITTED:
18537 case UNDEFINED:
18538 case UNDOFILE:
18539 case UNDO_BUFFER_SIZE:
18540 case UNICODE:
18541 case UNINSTALL:
18542 case UNKNOWN:
18543 case UNTIL:
18544 case UPGRADE:
18545 case USER:
18546 case USER_RESOURCES:
18547 case USE_FRM:
18548 case UTC_DATE:
18549 case UTC_TIME:
18550 case UTC_TIMESTAMP:
18551 case VALIDATION:
18552 case VALUE:
18553 case VALUES:
18554 case VARIABLES:
18555 case VCPU:
18556 case VIEW:
18557 case VISIBLE:
18558 case WAIT:
18559 case WARNINGS:
18560 case WEEK:
18561 case WEIGHT_STRING:
18562 case WITHOUT:
18563 case WORK:
18564 case WRAPPER:
18565 case X509:
18566 case XA:
18567 case XID:
18568 case XML:
18569 case YEAR:
18570 case YEAR_MONTH:
18571 case JSON_ARRAY:
18572 case JSON_ARRAY_APPEND:
18573 case JSON_ARRAY_INSERT:
18574 case JSON_CONTAINS:
18575 case JSON_CONTAINS_PATH:
18576 case JSON_DEPTH:
18577 case JSON_EXTRACT:
18578 case JSON_INSERT:
18579 case JSON_KEYS:
18580 case JSON_LENGTH:
18581 case JSON_MERGE:
18582 case JSON_MERGE_PATCH:
18583 case JSON_MERGE_PRESERVE:
18584 case JSON_OBJECT:
18585 case JSON_OVERLAPS:
18586 case JSON_PRETTY:
18587 case JSON_QUOTE:
18588 case JSON_REMOVE:
18589 case JSON_REPLACE:
18590 case JSON_SCHEMA_VALID:
18591 case JSON_SCHEMA_VALIDATION_REPORT:
18592 case JSON_SEARCH:
18593 case JSON_SET:
18594 case JSON_STORAGE_FREE:
18595 case JSON_STORAGE_SIZE:
18596 case JSON_TYPE:
18597 case JSON_UNQUOTE:
18598 case JSON_VALID:
18599 case SINGLE_QUOTED_TEXT:
18600 case DOUBLE_QUOTED_TEXT:
18601 case BQUOTA_STRING:
18602 case NCHAR_TEXT:
18603 case UNDERSCORE_CHARSET:
18604 case NUMBER_:
18605 case HEX_DIGIT_:
18606 case BIT_NUM_:
18607 case IDENTIFIER_:
18608 case IP_ADDRESS:
18609 {
18610 setState(1900);
18611 expr(0);
18612 setState(1905);
18613 _errHandler.sync(this);
18614 _la = _input.LA(1);
18615 while (_la==COMMA_) {
18616 {
18617 {
18618 setState(1901);
18619 match(COMMA_);
18620 setState(1902);
18621 expr(0);
18622 }
18623 }
18624 setState(1907);
18625 _errHandler.sync(this);
18626 _la = _input.LA(1);
18627 }
18628 }
18629 break;
18630 case ASTERISK_:
18631 {
18632 setState(1908);
18633 match(ASTERISK_);
18634 }
18635 break;
18636 case RP_:
18637 case COLLATE:
18638 break;
18639 default:
18640 break;
18641 }
18642 setState(1912);
18643 _errHandler.sync(this);
18644 _la = _input.LA(1);
18645 if (_la==COLLATE) {
18646 {
18647 setState(1911);
18648 collateClause();
18649 }
18650 }
18651
18652 setState(1914);
18653 match(RP_);
18654 setState(1916);
18655 _errHandler.sync(this);
18656 switch ( getInterpreter().adaptivePredict(_input,216,_ctx) ) {
18657 case 1:
18658 {
18659 setState(1915);
18660 overClause();
18661 }
18662 break;
18663 }
18664 }
18665 }
18666 catch (RecognitionException re) {
18667 _localctx.exception = re;
18668 _errHandler.reportError(this, re);
18669 _errHandler.recover(this, re);
18670 }
18671 finally {
18672 exitRule();
18673 }
18674 return _localctx;
18675 }
18676
18677 public static class JsonFunctionContext extends ParserRuleContext {
18678 public ColumnRefContext columnRef() {
18679 return getRuleContext(ColumnRefContext.class,0);
18680 }
18681 public PathContext path() {
18682 return getRuleContext(PathContext.class,0);
18683 }
18684 public TerminalNode JSON_SEPARATOR() { return getToken(HiveStatementParser.JSON_SEPARATOR, 0); }
18685 public TerminalNode JSON_UNQUOTED_SEPARATOR() { return getToken(HiveStatementParser.JSON_UNQUOTED_SEPARATOR, 0); }
18686 public JsonFunctionNameContext jsonFunctionName() {
18687 return getRuleContext(JsonFunctionNameContext.class,0);
18688 }
18689 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
18690 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
18691 public List<ExprContext> expr() {
18692 return getRuleContexts(ExprContext.class);
18693 }
18694 public ExprContext expr(int i) {
18695 return getRuleContext(ExprContext.class,i);
18696 }
18697 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
18698 public TerminalNode COMMA_(int i) {
18699 return getToken(HiveStatementParser.COMMA_, i);
18700 }
18701 public JsonFunctionContext(ParserRuleContext parent, int invokingState) {
18702 super(parent, invokingState);
18703 }
18704 @Override public int getRuleIndex() { return RULE_jsonFunction; }
18705 @Override
18706 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18707 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitJsonFunction(this);
18708 else return visitor.visitChildren(this);
18709 }
18710 }
18711
18712 public final JsonFunctionContext jsonFunction() throws RecognitionException {
18713 JsonFunctionContext _localctx = new JsonFunctionContext(_ctx, getState());
18714 enterRule(_localctx, 342, RULE_jsonFunction);
18715 int _la;
18716 try {
18717 setState(1939);
18718 _errHandler.sync(this);
18719 switch ( getInterpreter().adaptivePredict(_input,220,_ctx) ) {
18720 case 1:
18721 enterOuterAlt(_localctx, 1);
18722 {
18723 setState(1918);
18724 columnRef();
18725 setState(1919);
18726 _la = _input.LA(1);
18727 if ( !(_la==JSON_SEPARATOR || _la==JSON_UNQUOTED_SEPARATOR) ) {
18728 _errHandler.recoverInline(this);
18729 }
18730 else {
18731 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
18732 _errHandler.reportMatch(this);
18733 consume();
18734 }
18735 setState(1920);
18736 path();
18737 }
18738 break;
18739 case 2:
18740 enterOuterAlt(_localctx, 2);
18741 {
18742 setState(1922);
18743 jsonFunctionName();
18744 setState(1923);
18745 match(LP_);
18746 setState(1935);
18747 _errHandler.sync(this);
18748 switch ( getInterpreter().adaptivePredict(_input,219,_ctx) ) {
18749 case 1:
18750 {
18751 setState(1925);
18752 _errHandler.sync(this);
18753 _la = _input.LA(1);
18754 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << AT_) | (1L << MAX) | (1L << MIN) | (1L << SUM) | (1L << COUNT) | (1L << GROUP_CONCAT) | (1L << CAST) | (1L << POSITION) | (1L << SUBSTRING) | (1L << SUBSTR) | (1L << EXTRACT) | (1L << TRIM) | (1L << LAST_DAY) | (1L << TRADITIONAL) | (1L << TREE) | (1L << MYSQL_MAIN) | (1L << MYSQL_ADMIN) | (1L << INSTANT))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (INPLACE - 64)) | (1L << (COPY - 64)) | (1L << (UL_BINARY - 64)) | (1L << (AUTOCOMMIT - 64)) | (1L << (INNODB - 64)) | (1L << (REDO_LOG - 64)) | (1L << (ACCOUNT - 64)) | (1L << (ACTION - 64)) | (1L << (ACTIVE - 64)) | (1L << (ADMIN - 64)) | (1L << (AFTER - 64)) | (1L << (AGAINST - 64)) | (1L << (AGGREGATE - 64)) | (1L << (ALGORITHM - 64)) | (1L << (ALWAYS - 64)) | (1L << (ANY - 64)) | (1L << (ARRAY - 64)) | (1L << (ASCII - 64)) | (1L << (AT - 64)) | (1L << (ATTRIBUTE - 64)) | (1L << (AUTOEXTEND_SIZE - 64)) | (1L << (AUTO_INCREMENT - 64)) | (1L << (AVG - 64)) | (1L << (BIT_XOR - 64)) | (1L << (AVG_ROW_LENGTH - 64)) | (1L << (BACKUP - 64)) | (1L << (BEGIN - 64)) | (1L << (BINARY - 64)) | (1L << (BINLOG - 64)) | (1L << (BIT - 64)) | (1L << (BLOCK - 64)) | (1L << (BOOL - 64)) | (1L << (BOOLEAN - 64)) | (1L << (BTREE - 64)) | (1L << (BUCKETS - 64)) | (1L << (BYTE - 64)) | (1L << (CACHE - 64)) | (1L << (CASCADED - 64)) | (1L << (CASE - 64)) | (1L << (CATALOG_NAME - 64)) | (1L << (CHAIN - 64)) | (1L << (CHANGED - 64)) | (1L << (CHANNEL - 64)))) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & ((1L << (CHAR - 128)) | (1L << (CHARSET - 128)) | (1L << (CHECKSUM - 128)) | (1L << (CIPHER - 128)) | (1L << (CLASS_ORIGIN - 128)) | (1L << (CLIENT - 128)) | (1L << (CLONE - 128)) | (1L << (CLOSE - 128)) | (1L << (COALESCE - 128)) | (1L << (CODE - 128)) | (1L << (COLLATION - 128)) | (1L << (COLUMNS - 128)) | (1L << (COLUMN_FORMAT - 128)) | (1L << (COLUMN_NAME - 128)) | (1L << (COMMENT - 128)) | (1L << (COMMIT - 128)) | (1L << (COMMITTED - 128)) | (1L << (COMPACT - 128)) | (1L << (COMPLETION - 128)) | (1L << (COMPONENT - 128)) | (1L << (COMPRESSED - 128)) | (1L << (COMPRESSION - 128)) | (1L << (CONCURRENT - 128)) | (1L << (CONNECTION - 128)) | (1L << (CONSISTENT - 128)) | (1L << (CONSTRAINT_CATALOG - 128)) | (1L << (CONSTRAINT_NAME - 128)) | (1L << (CONSTRAINT_SCHEMA - 128)) | (1L << (CONTAINS - 128)) | (1L << (CONTEXT - 128)) | (1L << (CONVERT - 128)) | (1L << (CPU - 128)) | (1L << (CREATE - 128)) | (1L << (CUME_DIST - 128)) | (1L << (CURRENT - 128)) | (1L << (CURRENT_DATE - 128)) | (1L << (CURRENT_TIME - 128)) | (1L << (CURRENT_TIMESTAMP - 128)) | (1L << (CURRENT_USER - 128)) | (1L << (CURSOR_NAME - 128)) | (1L << (DATA - 128)) | (1L << (DATABASE - 128)) | (1L << (DATAFILE - 128)) | (1L << (DATE - 128)) | (1L << (DATETIME - 128)) | (1L << (DAY - 128)) | (1L << (DAY_MINUTE - 128)) | (1L << (DEALLOCATE - 128)))) != 0) || ((((_la - 196)) & ~0x3f) == 0 && ((1L << (_la - 196)) & ((1L << (DEFAULT_AUTH - 196)) | (1L << (DEFINER - 196)) | (1L << (DEFINITION - 196)) | (1L << (DELAY_KEY_WRITE - 196)) | (1L << (DENSE_RANK - 196)) | (1L << (DESCRIPTION - 196)) | (1L << (DIAGNOSTICS - 196)) | (1L << (DIRECTORY - 196)) | (1L << (DISABLE - 196)) | (1L << (DISCARD - 196)) | (1L << (DISK - 196)) | (1L << (DO - 196)) | (1L << (DUMPFILE - 196)) | (1L << (DUPLICATE - 196)) | (1L << (DYNAMIC - 196)) | (1L << (ENABLE - 196)) | (1L << (ENCRYPTION - 196)) | (1L << (END - 196)) | (1L << (ENDS - 196)) | (1L << (ENFORCED - 196)) | (1L << (ENGINE - 196)) | (1L << (ENGINES - 196)) | (1L << (ENGINE_ATTRIBUTE - 196)) | (1L << (ENUM - 196)) | (1L << (ERROR - 196)) | (1L << (ERRORS - 196)) | (1L << (ESCAPE - 196)) | (1L << (EVENT - 196)) | (1L << (EVENTS - 196)) | (1L << (EVERY - 196)) | (1L << (EXCHANGE - 196)) | (1L << (EXCLUDE - 196)) | (1L << (EXECUTE - 196)) | (1L << (EXISTS - 196)) | (1L << (EXPANSION - 196)) | (1L << (EXPIRE - 196)) | (1L << (EXPORT - 196)) | (1L << (EXTENDED - 196)) | (1L << (EXTENT_SIZE - 196)) | (1L << (FAILED_LOGIN_ATTEMPTS - 196)) | (1L << (FALSE - 196)) | (1L << (FAST - 196)) | (1L << (FAULTS - 196)))) != 0) || ((((_la - 260)) & ~0x3f) == 0 && ((1L << (_la - 260)) & ((1L << (FILE - 260)) | (1L << (FILE_BLOCK_SIZE - 260)) | (1L << (FILTER - 260)) | (1L << (FIRST - 260)) | (1L << (FIRST_VALUE - 260)) | (1L << (FIXED - 260)) | (1L << (FLUSH - 260)) | (1L << (FOLLOWING - 260)) | (1L << (FOLLOWS - 260)) | (1L << (FORMAT - 260)) | (1L << (FOUND - 260)) | (1L << (FULL - 260)) | (1L << (GENERAL - 260)) | (1L << (GEOMETRY - 260)) | (1L << (GEOMETRYCOLLECTION - 260)) | (1L << (GET_FORMAT - 260)) | (1L << (GET_MASTER_PUBLIC_KEY - 260)) | (1L << (GLOBAL - 260)) | (1L << (GRANTS - 260)) | (1L << (GROUP_REPLICATION - 260)) | (1L << (HANDLER - 260)) | (1L << (HASH - 260)) | (1L << (HELP - 260)) | (1L << (HISTOGRAM - 260)) | (1L << (HISTORY - 260)) | (1L << (HOST - 260)) | (1L << (HOSTS - 260)) | (1L << (HOUR - 260)) | (1L << (IDENTIFIED - 260)) | (1L << (IF - 260)) | (1L << (IGNORE_SERVER_IDS - 260)) | (1L << (IMPORT - 260)) | (1L << (INACTIVE - 260)) | (1L << (INDEXES - 260)) | (1L << (INITIAL_SIZE - 260)))) != 0) || ((((_la - 326)) & ~0x3f) == 0 && ((1L << (_la - 326)) & ((1L << (INSERT - 326)) | (1L << (INSERT_METHOD - 326)) | (1L << (INSTALL - 326)) | (1L << (INSTANCE - 326)) | (1L << (INTERVAL - 326)) | (1L << (INVISIBLE - 326)) | (1L << (INVOKER - 326)) | (1L << (IO - 326)) | (1L << (IPC - 326)) | (1L << (ISOLATION - 326)) | (1L << (ISSUER - 326)) | (1L << (JSON - 326)) | (1L << (JSON_TABLE - 326)) | (1L << (JSON_VALUE - 326)) | (1L << (KEY - 326)) | (1L << (KEY_BLOCK_SIZE - 326)) | (1L << (LAG - 326)) | (1L << (LANGUAGE - 326)) | (1L << (LAST - 326)) | (1L << (LAST_VALUE - 326)) | (1L << (LEAD - 326)) | (1L << (LEAVES - 326)) | (1L << (LEFT - 326)) | (1L << (LESS - 326)) | (1L << (LEVEL - 326)) | (1L << (LINESTRING - 326)) | (1L << (LIST - 326)) | (1L << (LOCAL - 326)) | (1L << (LOCALTIME - 326)) | (1L << (LOCALTIMESTAMP - 326)) | (1L << (LOCKED - 326)) | (1L << (LOCKS - 326)) | (1L << (LOGFILE - 326)) | (1L << (LOGS - 326)))) != 0) || ((((_la - 391)) & ~0x3f) == 0 && ((1L << (_la - 391)) & ((1L << (MASTER - 391)) | (1L << (MASTER_AUTO_POSITION - 391)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 391)) | (1L << (MASTER_CONNECT_RETRY - 391)) | (1L << (MASTER_DELAY - 391)) | (1L << (MASTER_HEARTBEAT_PERIOD - 391)) | (1L << (MASTER_HOST - 391)) | (1L << (MASTER_LOG_FILE - 391)) | (1L << (MASTER_LOG_POS - 391)) | (1L << (MASTER_PASSWORD - 391)) | (1L << (MASTER_PORT - 391)) | (1L << (MASTER_PUBLIC_KEY_PATH - 391)) | (1L << (MASTER_RETRY_COUNT - 391)) | (1L << (MASTER_SERVER_ID - 391)) | (1L << (MASTER_SSL - 391)) | (1L << (MASTER_SSL_CA - 391)) | (1L << (MASTER_SSL_CAPATH - 391)) | (1L << (MASTER_SSL_CERT - 391)) | (1L << (MASTER_SSL_CIPHER - 391)) | (1L << (MASTER_SSL_CRL - 391)) | (1L << (MASTER_SSL_CRLPATH - 391)) | (1L << (MASTER_SSL_KEY - 391)) | (1L << (MASTER_TLS_CIPHERSUITES - 391)) | (1L << (MASTER_TLS_VERSION - 391)) | (1L << (MASTER_USER - 391)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 391)) | (1L << (MATCH - 391)) | (1L << (MAXVALUE - 391)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 391)) | (1L << (MAX_QUERIES_PER_HOUR - 391)) | (1L << (MAX_ROWS - 391)) | (1L << (MAX_SIZE - 391)) | (1L << (MAX_UPDATES_PER_HOUR - 391)) | (1L << (MAX_USER_CONNECTIONS - 391)) | (1L << (MEDIUM - 391)) | (1L << (MEMBER - 391)) | (1L << (MEMORY - 391)) | (1L << (MERGE - 391)) | (1L << (MESSAGE_TEXT - 391)) | (1L << (MICROSECOND - 391)) | (1L << (MIGRATE - 391)) | (1L << (MINUTE - 391)) | (1L << (MIN_ROWS - 391)) | (1L << (MOD - 391)) | (1L << (MODE - 391)) | (1L << (MODIFY - 391)) | (1L << (MONTH - 391)) | (1L << (MULTILINESTRING - 391)) | (1L << (MULTIPOINT - 391)) | (1L << (MULTIPOLYGON - 391)) | (1L << (MUTEX - 391)) | (1L << (MYSQL_ERRNO - 391)) | (1L << (NAME - 391)) | (1L << (NAMES - 391)) | (1L << (NATIONAL - 391)))) != 0) || ((((_la - 458)) & ~0x3f) == 0 && ((1L << (_la - 458)) & ((1L << (NCHAR - 458)) | (1L << (NDBCLUSTER - 458)) | (1L << (NESTED - 458)) | (1L << (NETWORK_NAMESPACE - 458)) | (1L << (NEVER - 458)) | (1L << (NEW - 458)) | (1L << (NEXT - 458)) | (1L << (NO - 458)) | (1L << (NODEGROUP - 458)) | (1L << (NONE - 458)) | (1L << (NOT - 458)) | (1L << (NOWAIT - 458)) | (1L << (NO_WAIT - 458)) | (1L << (NTH_VALUE - 458)) | (1L << (NTILE - 458)) | (1L << (NULL - 458)) | (1L << (NULLS - 458)) | (1L << (NUMBER - 458)) | (1L << (NVARCHAR - 458)) | (1L << (OFF - 458)) | (1L << (OFFSET - 458)) | (1L << (OJ - 458)) | (1L << (OLD - 458)) | (1L << (ONE - 458)) | (1L << (ONLY - 458)) | (1L << (OPEN - 458)) | (1L << (OPTIONAL - 458)) | (1L << (OPTIONS - 458)) | (1L << (ORDINALITY - 458)) | (1L << (ORGANIZATION - 458)) | (1L << (OTHERS - 458)) | (1L << (OWNER - 458)) | (1L << (PACK_KEYS - 458)) | (1L << (PAGE - 458)) | (1L << (PARSER - 458)) | (1L << (PARTIAL - 458)) | (1L << (PARTITIONING - 458)) | (1L << (PARTITIONS - 458)) | (1L << (PASSWORD - 458)) | (1L << (PASSWORD_LOCK_TIME - 458)) | (1L << (PATH - 458)) | (1L << (PERCENT_RANK - 458)) | (1L << (PERSIST - 458)) | (1L << (PERSIST_ONLY - 458)) | (1L << (PHASE - 458)) | (1L << (PLUGIN - 458)) | (1L << (PLUGINS - 458)))) != 0) || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (PLUGIN_DIR - 522)) | (1L << (POINT - 522)) | (1L << (POLYGON - 522)) | (1L << (PORT - 522)) | (1L << (PRECEDES - 522)) | (1L << (PRECEDING - 522)) | (1L << (PREPARE - 522)) | (1L << (PRESERVE - 522)) | (1L << (PREV - 522)) | (1L << (PRIMARY - 522)) | (1L << (PRIVILEGES - 522)) | (1L << (PRIVILEGE_CHECKS_USER - 522)) | (1L << (PROCESS - 522)) | (1L << (PROCESSLIST - 522)) | (1L << (PROFILE - 522)) | (1L << (PROFILES - 522)) | (1L << (PROXY - 522)) | (1L << (QUARTER - 522)) | (1L << (QUERY - 522)) | (1L << (QUICK - 522)) | (1L << (RANDOM - 522)) | (1L << (RANK - 522)) | (1L << (READ_ONLY - 522)) | (1L << (REBUILD - 522)) | (1L << (RECOVER - 522)) | (1L << (REDO_BUFFER_SIZE - 522)) | (1L << (REDUNDANT - 522)) | (1L << (REFERENCE - 522)) | (1L << (RELAY - 522)) | (1L << (RELAYLOG - 522)) | (1L << (RELAY_LOG_FILE - 522)) | (1L << (RELAY_LOG_POS - 522)) | (1L << (RELAY_THREAD - 522)) | (1L << (RELOAD - 522)) | (1L << (REMOVE - 522)) | (1L << (REORGANIZE - 522)) | (1L << (REPAIR - 522)) | (1L << (REPEAT - 522)) | (1L << (REPEATABLE - 522)) | (1L << (REPLACE - 522)) | (1L << (REPLICATE_DO_DB - 522)) | (1L << (REPLICATE_DO_TABLE - 522)) | (1L << (REPLICATE_IGNORE_DB - 522)) | (1L << (REPLICATE_IGNORE_TABLE - 522)) | (1L << (REPLICATE_REWRITE_DB - 522)) | (1L << (REPLICATE_WILD_DO_TABLE - 522)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 522)) | (1L << (REPLICATION - 522)))) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & ((1L << (REQUIRE_ROW_FORMAT - 586)) | (1L << (RESET - 586)) | (1L << (RESOURCE - 586)) | (1L << (RESPECT - 586)) | (1L << (RESTART - 586)) | (1L << (RESTORE - 586)) | (1L << (RESUME - 586)) | (1L << (RETAIN - 586)) | (1L << (RETURNED_SQLSTATE - 586)) | (1L << (RETURNING - 586)) | (1L << (RETURNS - 586)) | (1L << (REUSE - 586)) | (1L << (REVERSE - 586)) | (1L << (RIGHT - 586)) | (1L << (ROLE - 586)) | (1L << (ROLLBACK - 586)) | (1L << (ROLLUP - 586)) | (1L << (ROTATE - 586)) | (1L << (ROUTINE - 586)) | (1L << (ROW - 586)) | (1L << (ROW_COUNT - 586)) | (1L << (ROW_FORMAT - 586)) | (1L << (ROW_NUMBER - 586)) | (1L << (RTREE - 586)) | (1L << (SAVEPOINT - 586)) | (1L << (SCHEDULE - 586)) | (1L << (SCHEMA - 586)) | (1L << (SCHEMA_NAME - 586)) | (1L << (SECOND - 586)) | (1L << (SECONDARY - 586)) | (1L << (SECONDARY_ENGINE - 586)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 586)) | (1L << (SECONDARY_LOAD - 586)) | (1L << (SECONDARY_UNLOAD - 586)) | (1L << (SECURITY - 586)) | (1L << (SERIAL - 586)) | (1L << (SERIALIZABLE - 586)) | (1L << (SERVER - 586)) | (1L << (SESSION - 586)) | (1L << (SHARE - 586)) | (1L << (SHUTDOWN - 586)) | (1L << (SIGNED - 586)) | (1L << (SIMPLE - 586)) | (1L << (SLAVE - 586)) | (1L << (SLOW - 586)))) != 0) || ((((_la - 650)) & ~0x3f) == 0 && ((1L << (_la - 650)) & ((1L << (SNAPSHOT - 650)) | (1L << (SOCKET - 650)) | (1L << (SONAME - 650)) | (1L << (SOUNDS - 650)) | (1L << (SOURCE - 650)) | (1L << (SQL_AFTER_GTIDS - 650)) | (1L << (SQL_AFTER_MTS_GAPS - 650)) | (1L << (SQL_BEFORE_GTIDS - 650)) | (1L << (SQL_BUFFER_RESULT - 650)) | (1L << (SQL_NO_CACHE - 650)) | (1L << (SQL_THREAD - 650)) | (1L << (SRID - 650)) | (1L << (STACKED - 650)) | (1L << (START - 650)) | (1L << (STARTS - 650)) | (1L << (STATS_AUTO_RECALC - 650)) | (1L << (STATS_PERSISTENT - 650)) | (1L << (STATS_SAMPLE_PAGES - 650)) | (1L << (STATUS - 650)) | (1L << (STOP - 650)) | (1L << (STORAGE - 650)) | (1L << (STREAM - 650)) | (1L << (STRING - 650)) | (1L << (SUBCLASS_ORIGIN - 650)) | (1L << (SUBJECT - 650)) | (1L << (SUBPARTITION - 650)) | (1L << (SUBPARTITIONS - 650)) | (1L << (SUPER - 650)) | (1L << (SUSPEND - 650)) | (1L << (SWAPS - 650)) | (1L << (SWITCHES - 650)) | (1L << (SYSTEM - 650)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (TABLE - 722)) | (1L << (TABLES - 722)) | (1L << (TABLESPACE - 722)) | (1L << (TABLE_CHECKSUM - 722)) | (1L << (TABLE_NAME - 722)) | (1L << (TEMPORARY - 722)) | (1L << (TEMPTABLE - 722)) | (1L << (TEXT - 722)) | (1L << (THAN - 722)) | (1L << (THREAD_PRIORITY - 722)) | (1L << (TIES - 722)) | (1L << (TIME - 722)) | (1L << (TIMESTAMP - 722)) | (1L << (TIMESTAMP_ADD - 722)) | (1L << (TIMESTAMP_DIFF - 722)) | (1L << (TLS - 722)) | (1L << (TRANSACTION - 722)) | (1L << (TRIGGERS - 722)) | (1L << (TRUE - 722)) | (1L << (TRUNCATE - 722)) | (1L << (TYPE - 722)) | (1L << (TYPES - 722)) | (1L << (UNBOUNDED - 722)) | (1L << (UNCOMMITTED - 722)) | (1L << (UNDEFINED - 722)) | (1L << (UNDOFILE - 722)) | (1L << (UNDO_BUFFER_SIZE - 722)) | (1L << (UNICODE - 722)) | (1L << (UNINSTALL - 722)) | (1L << (UNKNOWN - 722)) | (1L << (UNTIL - 722)) | (1L << (UPGRADE - 722)) | (1L << (USER - 722)) | (1L << (USER_RESOURCES - 722)) | (1L << (USE_FRM - 722)) | (1L << (UTC_DATE - 722)) | (1L << (UTC_TIME - 722)) | (1L << (UTC_TIMESTAMP - 722)) | (1L << (VALIDATION - 722)) | (1L << (VALUE - 722)) | (1L << (VALUES - 722)) | (1L << (VARIABLES - 722)))) != 0) || ((((_la - 787)) & ~0x3f) == 0 && ((1L << (_la - 787)) & ((1L << (VCPU - 787)) | (1L << (VIEW - 787)) | (1L << (VISIBLE - 787)) | (1L << (WAIT - 787)) | (1L << (WARNINGS - 787)) | (1L << (WEEK - 787)) | (1L << (WEIGHT_STRING - 787)) | (1L << (WITHOUT - 787)) | (1L << (WORK - 787)) | (1L << (WRAPPER - 787)) | (1L << (X509 - 787)) | (1L << (XA - 787)) | (1L << (XID - 787)) | (1L << (XML - 787)) | (1L << (YEAR - 787)) | (1L << (YEAR_MONTH - 787)) | (1L << (JSON_ARRAY - 787)) | (1L << (JSON_ARRAY_APPEND - 787)) | (1L << (JSON_ARRAY_INSERT - 787)) | (1L << (JSON_CONTAINS - 787)) | (1L << (JSON_CONTAINS_PATH - 787)) | (1L << (JSON_DEPTH - 787)) | (1L << (JSON_EXTRACT - 787)) | (1L << (JSON_INSERT - 787)) | (1L << (JSON_KEYS - 787)) | (1L << (JSON_LENGTH - 787)) | (1L << (JSON_MERGE - 787)) | (1L << (JSON_MERGE_PATCH - 787)) | (1L << (JSON_MERGE_PRESERVE - 787)) | (1L << (JSON_OBJECT - 787)) | (1L << (JSON_OVERLAPS - 787)) | (1L << (JSON_PRETTY - 787)) | (1L << (JSON_QUOTE - 787)) | (1L << (JSON_REMOVE - 787)) | (1L << (JSON_REPLACE - 787)) | (1L << (JSON_SCHEMA_VALID - 787)) | (1L << (JSON_SCHEMA_VALIDATION_REPORT - 787)) | (1L << (JSON_SEARCH - 787)) | (1L << (JSON_SET - 787)) | (1L << (JSON_STORAGE_FREE - 787)) | (1L << (JSON_STORAGE_SIZE - 787)) | (1L << (JSON_TYPE - 787)) | (1L << (JSON_UNQUOTE - 787)) | (1L << (JSON_VALID - 787)) | (1L << (SINGLE_QUOTED_TEXT - 787)) | (1L << (DOUBLE_QUOTED_TEXT - 787)) | (1L << (BQUOTA_STRING - 787)) | (1L << (NCHAR_TEXT - 787)) | (1L << (UNDERSCORE_CHARSET - 787)) | (1L << (NUMBER_ - 787)))) != 0) || ((((_la - 851)) & ~0x3f) == 0 && ((1L << (_la - 851)) & ((1L << (HEX_DIGIT_ - 851)) | (1L << (BIT_NUM_ - 851)) | (1L << (IDENTIFIER_ - 851)) | (1L << (IP_ADDRESS - 851)))) != 0)) {
18755 {
18756 setState(1924);
18757 expr(0);
18758 }
18759 }
18760
18761 }
18762 break;
18763 case 2:
18764 {
18765 setState(1927);
18766 expr(0);
18767 setState(1932);
18768 _errHandler.sync(this);
18769 _la = _input.LA(1);
18770 while (_la==COMMA_) {
18771 {
18772 {
18773 setState(1928);
18774 match(COMMA_);
18775 setState(1929);
18776 expr(0);
18777 }
18778 }
18779 setState(1934);
18780 _errHandler.sync(this);
18781 _la = _input.LA(1);
18782 }
18783 }
18784 break;
18785 }
18786 setState(1937);
18787 match(RP_);
18788 }
18789 break;
18790 }
18791 }
18792 catch (RecognitionException re) {
18793 _localctx.exception = re;
18794 _errHandler.reportError(this, re);
18795 _errHandler.recover(this, re);
18796 }
18797 finally {
18798 exitRule();
18799 }
18800 return _localctx;
18801 }
18802
18803 public static class JsonFunctionNameContext extends ParserRuleContext {
18804 public TerminalNode JSON_ARRAY() { return getToken(HiveStatementParser.JSON_ARRAY, 0); }
18805 public TerminalNode JSON_ARRAY_APPEND() { return getToken(HiveStatementParser.JSON_ARRAY_APPEND, 0); }
18806 public TerminalNode JSON_ARRAY_INSERT() { return getToken(HiveStatementParser.JSON_ARRAY_INSERT, 0); }
18807 public TerminalNode JSON_CONTAINS() { return getToken(HiveStatementParser.JSON_CONTAINS, 0); }
18808 public TerminalNode JSON_CONTAINS_PATH() { return getToken(HiveStatementParser.JSON_CONTAINS_PATH, 0); }
18809 public TerminalNode JSON_DEPTH() { return getToken(HiveStatementParser.JSON_DEPTH, 0); }
18810 public TerminalNode JSON_EXTRACT() { return getToken(HiveStatementParser.JSON_EXTRACT, 0); }
18811 public TerminalNode JSON_INSERT() { return getToken(HiveStatementParser.JSON_INSERT, 0); }
18812 public TerminalNode JSON_KEYS() { return getToken(HiveStatementParser.JSON_KEYS, 0); }
18813 public TerminalNode JSON_LENGTH() { return getToken(HiveStatementParser.JSON_LENGTH, 0); }
18814 public TerminalNode JSON_MERGE() { return getToken(HiveStatementParser.JSON_MERGE, 0); }
18815 public TerminalNode JSON_MERGE_PATCH() { return getToken(HiveStatementParser.JSON_MERGE_PATCH, 0); }
18816 public TerminalNode JSON_MERGE_PRESERVE() { return getToken(HiveStatementParser.JSON_MERGE_PRESERVE, 0); }
18817 public TerminalNode JSON_OBJECT() { return getToken(HiveStatementParser.JSON_OBJECT, 0); }
18818 public TerminalNode JSON_OVERLAPS() { return getToken(HiveStatementParser.JSON_OVERLAPS, 0); }
18819 public TerminalNode JSON_PRETTY() { return getToken(HiveStatementParser.JSON_PRETTY, 0); }
18820 public TerminalNode JSON_QUOTE() { return getToken(HiveStatementParser.JSON_QUOTE, 0); }
18821 public TerminalNode JSON_REMOVE() { return getToken(HiveStatementParser.JSON_REMOVE, 0); }
18822 public TerminalNode JSON_REPLACE() { return getToken(HiveStatementParser.JSON_REPLACE, 0); }
18823 public TerminalNode JSON_SCHEMA_VALID() { return getToken(HiveStatementParser.JSON_SCHEMA_VALID, 0); }
18824 public TerminalNode JSON_SCHEMA_VALIDATION_REPORT() { return getToken(HiveStatementParser.JSON_SCHEMA_VALIDATION_REPORT, 0); }
18825 public TerminalNode JSON_SEARCH() { return getToken(HiveStatementParser.JSON_SEARCH, 0); }
18826 public TerminalNode JSON_SET() { return getToken(HiveStatementParser.JSON_SET, 0); }
18827 public TerminalNode JSON_STORAGE_FREE() { return getToken(HiveStatementParser.JSON_STORAGE_FREE, 0); }
18828 public TerminalNode JSON_STORAGE_SIZE() { return getToken(HiveStatementParser.JSON_STORAGE_SIZE, 0); }
18829 public TerminalNode JSON_TABLE() { return getToken(HiveStatementParser.JSON_TABLE, 0); }
18830 public TerminalNode JSON_TYPE() { return getToken(HiveStatementParser.JSON_TYPE, 0); }
18831 public TerminalNode JSON_UNQUOTE() { return getToken(HiveStatementParser.JSON_UNQUOTE, 0); }
18832 public TerminalNode JSON_VALID() { return getToken(HiveStatementParser.JSON_VALID, 0); }
18833 public TerminalNode JSON_VALUE() { return getToken(HiveStatementParser.JSON_VALUE, 0); }
18834 public TerminalNode MEMBER() { return getToken(HiveStatementParser.MEMBER, 0); }
18835 public TerminalNode OF() { return getToken(HiveStatementParser.OF, 0); }
18836 public JsonFunctionNameContext(ParserRuleContext parent, int invokingState) {
18837 super(parent, invokingState);
18838 }
18839 @Override public int getRuleIndex() { return RULE_jsonFunctionName; }
18840 @Override
18841 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18842 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitJsonFunctionName(this);
18843 else return visitor.visitChildren(this);
18844 }
18845 }
18846
18847 public final JsonFunctionNameContext jsonFunctionName() throws RecognitionException {
18848 JsonFunctionNameContext _localctx = new JsonFunctionNameContext(_ctx, getState());
18849 enterRule(_localctx, 344, RULE_jsonFunctionName);
18850 try {
18851 setState(1973);
18852 _errHandler.sync(this);
18853 switch (_input.LA(1)) {
18854 case JSON_ARRAY:
18855 enterOuterAlt(_localctx, 1);
18856 {
18857 setState(1941);
18858 match(JSON_ARRAY);
18859 }
18860 break;
18861 case JSON_ARRAY_APPEND:
18862 enterOuterAlt(_localctx, 2);
18863 {
18864 setState(1942);
18865 match(JSON_ARRAY_APPEND);
18866 }
18867 break;
18868 case JSON_ARRAY_INSERT:
18869 enterOuterAlt(_localctx, 3);
18870 {
18871 setState(1943);
18872 match(JSON_ARRAY_INSERT);
18873 }
18874 break;
18875 case JSON_CONTAINS:
18876 enterOuterAlt(_localctx, 4);
18877 {
18878 setState(1944);
18879 match(JSON_CONTAINS);
18880 }
18881 break;
18882 case JSON_CONTAINS_PATH:
18883 enterOuterAlt(_localctx, 5);
18884 {
18885 setState(1945);
18886 match(JSON_CONTAINS_PATH);
18887 }
18888 break;
18889 case JSON_DEPTH:
18890 enterOuterAlt(_localctx, 6);
18891 {
18892 setState(1946);
18893 match(JSON_DEPTH);
18894 }
18895 break;
18896 case JSON_EXTRACT:
18897 enterOuterAlt(_localctx, 7);
18898 {
18899 setState(1947);
18900 match(JSON_EXTRACT);
18901 }
18902 break;
18903 case JSON_INSERT:
18904 enterOuterAlt(_localctx, 8);
18905 {
18906 setState(1948);
18907 match(JSON_INSERT);
18908 }
18909 break;
18910 case JSON_KEYS:
18911 enterOuterAlt(_localctx, 9);
18912 {
18913 setState(1949);
18914 match(JSON_KEYS);
18915 }
18916 break;
18917 case JSON_LENGTH:
18918 enterOuterAlt(_localctx, 10);
18919 {
18920 setState(1950);
18921 match(JSON_LENGTH);
18922 }
18923 break;
18924 case JSON_MERGE:
18925 enterOuterAlt(_localctx, 11);
18926 {
18927 setState(1951);
18928 match(JSON_MERGE);
18929 }
18930 break;
18931 case JSON_MERGE_PATCH:
18932 enterOuterAlt(_localctx, 12);
18933 {
18934 setState(1952);
18935 match(JSON_MERGE_PATCH);
18936 }
18937 break;
18938 case JSON_MERGE_PRESERVE:
18939 enterOuterAlt(_localctx, 13);
18940 {
18941 setState(1953);
18942 match(JSON_MERGE_PRESERVE);
18943 }
18944 break;
18945 case JSON_OBJECT:
18946 enterOuterAlt(_localctx, 14);
18947 {
18948 setState(1954);
18949 match(JSON_OBJECT);
18950 }
18951 break;
18952 case JSON_OVERLAPS:
18953 enterOuterAlt(_localctx, 15);
18954 {
18955 setState(1955);
18956 match(JSON_OVERLAPS);
18957 }
18958 break;
18959 case JSON_PRETTY:
18960 enterOuterAlt(_localctx, 16);
18961 {
18962 setState(1956);
18963 match(JSON_PRETTY);
18964 }
18965 break;
18966 case JSON_QUOTE:
18967 enterOuterAlt(_localctx, 17);
18968 {
18969 setState(1957);
18970 match(JSON_QUOTE);
18971 }
18972 break;
18973 case JSON_REMOVE:
18974 enterOuterAlt(_localctx, 18);
18975 {
18976 setState(1958);
18977 match(JSON_REMOVE);
18978 }
18979 break;
18980 case JSON_REPLACE:
18981 enterOuterAlt(_localctx, 19);
18982 {
18983 setState(1959);
18984 match(JSON_REPLACE);
18985 }
18986 break;
18987 case JSON_SCHEMA_VALID:
18988 enterOuterAlt(_localctx, 20);
18989 {
18990 setState(1960);
18991 match(JSON_SCHEMA_VALID);
18992 }
18993 break;
18994 case JSON_SCHEMA_VALIDATION_REPORT:
18995 enterOuterAlt(_localctx, 21);
18996 {
18997 setState(1961);
18998 match(JSON_SCHEMA_VALIDATION_REPORT);
18999 }
19000 break;
19001 case JSON_SEARCH:
19002 enterOuterAlt(_localctx, 22);
19003 {
19004 setState(1962);
19005 match(JSON_SEARCH);
19006 }
19007 break;
19008 case JSON_SET:
19009 enterOuterAlt(_localctx, 23);
19010 {
19011 setState(1963);
19012 match(JSON_SET);
19013 }
19014 break;
19015 case JSON_STORAGE_FREE:
19016 enterOuterAlt(_localctx, 24);
19017 {
19018 setState(1964);
19019 match(JSON_STORAGE_FREE);
19020 }
19021 break;
19022 case JSON_STORAGE_SIZE:
19023 enterOuterAlt(_localctx, 25);
19024 {
19025 setState(1965);
19026 match(JSON_STORAGE_SIZE);
19027 }
19028 break;
19029 case JSON_TABLE:
19030 enterOuterAlt(_localctx, 26);
19031 {
19032 setState(1966);
19033 match(JSON_TABLE);
19034 }
19035 break;
19036 case JSON_TYPE:
19037 enterOuterAlt(_localctx, 27);
19038 {
19039 setState(1967);
19040 match(JSON_TYPE);
19041 }
19042 break;
19043 case JSON_UNQUOTE:
19044 enterOuterAlt(_localctx, 28);
19045 {
19046 setState(1968);
19047 match(JSON_UNQUOTE);
19048 }
19049 break;
19050 case JSON_VALID:
19051 enterOuterAlt(_localctx, 29);
19052 {
19053 setState(1969);
19054 match(JSON_VALID);
19055 }
19056 break;
19057 case JSON_VALUE:
19058 enterOuterAlt(_localctx, 30);
19059 {
19060 setState(1970);
19061 match(JSON_VALUE);
19062 }
19063 break;
19064 case MEMBER:
19065 enterOuterAlt(_localctx, 31);
19066 {
19067 setState(1971);
19068 match(MEMBER);
19069 setState(1972);
19070 match(OF);
19071 }
19072 break;
19073 default:
19074 throw new NoViableAltException(this);
19075 }
19076 }
19077 catch (RecognitionException re) {
19078 _localctx.exception = re;
19079 _errHandler.reportError(this, re);
19080 _errHandler.recover(this, re);
19081 }
19082 finally {
19083 exitRule();
19084 }
19085 return _localctx;
19086 }
19087
19088 public static class AggregationFunctionNameContext extends ParserRuleContext {
19089 public TerminalNode MAX() { return getToken(HiveStatementParser.MAX, 0); }
19090 public TerminalNode MIN() { return getToken(HiveStatementParser.MIN, 0); }
19091 public TerminalNode SUM() { return getToken(HiveStatementParser.SUM, 0); }
19092 public TerminalNode COUNT() { return getToken(HiveStatementParser.COUNT, 0); }
19093 public TerminalNode AVG() { return getToken(HiveStatementParser.AVG, 0); }
19094 public TerminalNode BIT_XOR() { return getToken(HiveStatementParser.BIT_XOR, 0); }
19095 public AggregationFunctionNameContext(ParserRuleContext parent, int invokingState) {
19096 super(parent, invokingState);
19097 }
19098 @Override public int getRuleIndex() { return RULE_aggregationFunctionName; }
19099 @Override
19100 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19101 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitAggregationFunctionName(this);
19102 else return visitor.visitChildren(this);
19103 }
19104 }
19105
19106 public final AggregationFunctionNameContext aggregationFunctionName() throws RecognitionException {
19107 AggregationFunctionNameContext _localctx = new AggregationFunctionNameContext(_ctx, getState());
19108 enterRule(_localctx, 346, RULE_aggregationFunctionName);
19109 int _la;
19110 try {
19111 enterOuterAlt(_localctx, 1);
19112 {
19113 setState(1975);
19114 _la = _input.LA(1);
19115 if ( !(((((_la - 47)) & ~0x3f) == 0 && ((1L << (_la - 47)) & ((1L << (MAX - 47)) | (1L << (MIN - 47)) | (1L << (SUM - 47)) | (1L << (COUNT - 47)) | (1L << (AVG - 47)) | (1L << (BIT_XOR - 47)))) != 0)) ) {
19116 _errHandler.recoverInline(this);
19117 }
19118 else {
19119 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19120 _errHandler.reportMatch(this);
19121 consume();
19122 }
19123 }
19124 }
19125 catch (RecognitionException re) {
19126 _localctx.exception = re;
19127 _errHandler.reportError(this, re);
19128 _errHandler.recover(this, re);
19129 }
19130 finally {
19131 exitRule();
19132 }
19133 return _localctx;
19134 }
19135
19136 public static class DistinctContext extends ParserRuleContext {
19137 public TerminalNode DISTINCT() { return getToken(HiveStatementParser.DISTINCT, 0); }
19138 public DistinctContext(ParserRuleContext parent, int invokingState) {
19139 super(parent, invokingState);
19140 }
19141 @Override public int getRuleIndex() { return RULE_distinct; }
19142 @Override
19143 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19144 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDistinct(this);
19145 else return visitor.visitChildren(this);
19146 }
19147 }
19148
19149 public final DistinctContext distinct() throws RecognitionException {
19150 DistinctContext _localctx = new DistinctContext(_ctx, getState());
19151 enterRule(_localctx, 348, RULE_distinct);
19152 try {
19153 enterOuterAlt(_localctx, 1);
19154 {
19155 setState(1977);
19156 match(DISTINCT);
19157 }
19158 }
19159 catch (RecognitionException re) {
19160 _localctx.exception = re;
19161 _errHandler.reportError(this, re);
19162 _errHandler.recover(this, re);
19163 }
19164 finally {
19165 exitRule();
19166 }
19167 return _localctx;
19168 }
19169
19170 public static class OverClauseContext extends ParserRuleContext {
19171 public TerminalNode OVER() { return getToken(HiveStatementParser.OVER, 0); }
19172 public WindowSpecificationContext windowSpecification() {
19173 return getRuleContext(WindowSpecificationContext.class,0);
19174 }
19175 public IdentifierContext identifier() {
19176 return getRuleContext(IdentifierContext.class,0);
19177 }
19178 public OverClauseContext(ParserRuleContext parent, int invokingState) {
19179 super(parent, invokingState);
19180 }
19181 @Override public int getRuleIndex() { return RULE_overClause; }
19182 @Override
19183 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19184 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitOverClause(this);
19185 else return visitor.visitChildren(this);
19186 }
19187 }
19188
19189 public final OverClauseContext overClause() throws RecognitionException {
19190 OverClauseContext _localctx = new OverClauseContext(_ctx, getState());
19191 enterRule(_localctx, 350, RULE_overClause);
19192 try {
19193 enterOuterAlt(_localctx, 1);
19194 {
19195 setState(1979);
19196 match(OVER);
19197 setState(1982);
19198 _errHandler.sync(this);
19199 switch (_input.LA(1)) {
19200 case LP_:
19201 {
19202 setState(1980);
19203 windowSpecification();
19204 }
19205 break;
19206 case MAX:
19207 case MIN:
19208 case SUM:
19209 case COUNT:
19210 case GROUP_CONCAT:
19211 case CAST:
19212 case POSITION:
19213 case SUBSTRING:
19214 case SUBSTR:
19215 case EXTRACT:
19216 case TRIM:
19217 case LAST_DAY:
19218 case TRADITIONAL:
19219 case TREE:
19220 case MYSQL_MAIN:
19221 case MYSQL_ADMIN:
19222 case INSTANT:
19223 case INPLACE:
19224 case COPY:
19225 case UL_BINARY:
19226 case AUTOCOMMIT:
19227 case INNODB:
19228 case REDO_LOG:
19229 case ACCOUNT:
19230 case ACTION:
19231 case ACTIVE:
19232 case ADMIN:
19233 case AFTER:
19234 case AGAINST:
19235 case AGGREGATE:
19236 case ALGORITHM:
19237 case ALWAYS:
19238 case ANY:
19239 case ARRAY:
19240 case ASCII:
19241 case AT:
19242 case ATTRIBUTE:
19243 case AUTOEXTEND_SIZE:
19244 case AUTO_INCREMENT:
19245 case AVG:
19246 case BIT_XOR:
19247 case AVG_ROW_LENGTH:
19248 case BACKUP:
19249 case BEGIN:
19250 case BINLOG:
19251 case BIT:
19252 case BLOCK:
19253 case BOOL:
19254 case BOOLEAN:
19255 case BTREE:
19256 case BUCKETS:
19257 case BYTE:
19258 case CACHE:
19259 case CASCADED:
19260 case CATALOG_NAME:
19261 case CHAIN:
19262 case CHANGED:
19263 case CHANNEL:
19264 case CHARSET:
19265 case CHECKSUM:
19266 case CIPHER:
19267 case CLASS_ORIGIN:
19268 case CLIENT:
19269 case CLONE:
19270 case CLOSE:
19271 case COALESCE:
19272 case CODE:
19273 case COLLATION:
19274 case COLUMNS:
19275 case COLUMN_FORMAT:
19276 case COLUMN_NAME:
19277 case COMMENT:
19278 case COMMIT:
19279 case COMMITTED:
19280 case COMPACT:
19281 case COMPLETION:
19282 case COMPONENT:
19283 case COMPRESSED:
19284 case COMPRESSION:
19285 case CONCURRENT:
19286 case CONNECTION:
19287 case CONSISTENT:
19288 case CONSTRAINT_CATALOG:
19289 case CONSTRAINT_NAME:
19290 case CONSTRAINT_SCHEMA:
19291 case CONTAINS:
19292 case CONTEXT:
19293 case CPU:
19294 case CREATE:
19295 case CURRENT:
19296 case CURSOR_NAME:
19297 case DATA:
19298 case DATAFILE:
19299 case DATE:
19300 case DATETIME:
19301 case DAY:
19302 case DAY_MINUTE:
19303 case DEALLOCATE:
19304 case DEFAULT_AUTH:
19305 case DEFINER:
19306 case DEFINITION:
19307 case DELAY_KEY_WRITE:
19308 case DESCRIPTION:
19309 case DIAGNOSTICS:
19310 case DIRECTORY:
19311 case DISABLE:
19312 case DISCARD:
19313 case DISK:
19314 case DO:
19315 case DUMPFILE:
19316 case DUPLICATE:
19317 case DYNAMIC:
19318 case ENABLE:
19319 case ENCRYPTION:
19320 case END:
19321 case ENDS:
19322 case ENFORCED:
19323 case ENGINE:
19324 case ENGINES:
19325 case ENGINE_ATTRIBUTE:
19326 case ENUM:
19327 case ERROR:
19328 case ERRORS:
19329 case ESCAPE:
19330 case EVENT:
19331 case EVENTS:
19332 case EVERY:
19333 case EXCHANGE:
19334 case EXCLUDE:
19335 case EXECUTE:
19336 case EXPANSION:
19337 case EXPIRE:
19338 case EXPORT:
19339 case EXTENDED:
19340 case EXTENT_SIZE:
19341 case FAILED_LOGIN_ATTEMPTS:
19342 case FAST:
19343 case FAULTS:
19344 case FILE:
19345 case FILE_BLOCK_SIZE:
19346 case FILTER:
19347 case FIRST:
19348 case FIXED:
19349 case FLUSH:
19350 case FOLLOWING:
19351 case FOLLOWS:
19352 case FORMAT:
19353 case FOUND:
19354 case FULL:
19355 case GENERAL:
19356 case GEOMETRY:
19357 case GEOMETRYCOLLECTION:
19358 case GET_FORMAT:
19359 case GET_MASTER_PUBLIC_KEY:
19360 case GLOBAL:
19361 case GRANTS:
19362 case GROUP_REPLICATION:
19363 case HANDLER:
19364 case HASH:
19365 case HELP:
19366 case HISTOGRAM:
19367 case HISTORY:
19368 case HOST:
19369 case HOSTS:
19370 case HOUR:
19371 case IDENTIFIED:
19372 case IGNORE_SERVER_IDS:
19373 case IMPORT:
19374 case INACTIVE:
19375 case INDEXES:
19376 case INITIAL_SIZE:
19377 case INSERT_METHOD:
19378 case INSTALL:
19379 case INSTANCE:
19380 case INVISIBLE:
19381 case INVOKER:
19382 case IO:
19383 case IPC:
19384 case ISOLATION:
19385 case ISSUER:
19386 case JSON:
19387 case JSON_VALUE:
19388 case KEY:
19389 case KEY_BLOCK_SIZE:
19390 case LANGUAGE:
19391 case LAST:
19392 case LAST_VALUE:
19393 case LEAVES:
19394 case LESS:
19395 case LEVEL:
19396 case LINESTRING:
19397 case LIST:
19398 case LOCAL:
19399 case LOCKED:
19400 case LOCKS:
19401 case LOGFILE:
19402 case LOGS:
19403 case MASTER:
19404 case MASTER_AUTO_POSITION:
19405 case MASTER_COMPRESSION_ALGORITHM:
19406 case MASTER_CONNECT_RETRY:
19407 case MASTER_DELAY:
19408 case MASTER_HEARTBEAT_PERIOD:
19409 case MASTER_HOST:
19410 case MASTER_LOG_FILE:
19411 case MASTER_LOG_POS:
19412 case MASTER_PASSWORD:
19413 case MASTER_PORT:
19414 case MASTER_PUBLIC_KEY_PATH:
19415 case MASTER_RETRY_COUNT:
19416 case MASTER_SERVER_ID:
19417 case MASTER_SSL:
19418 case MASTER_SSL_CA:
19419 case MASTER_SSL_CAPATH:
19420 case MASTER_SSL_CERT:
19421 case MASTER_SSL_CIPHER:
19422 case MASTER_SSL_CRL:
19423 case MASTER_SSL_CRLPATH:
19424 case MASTER_SSL_KEY:
19425 case MASTER_TLS_CIPHERSUITES:
19426 case MASTER_TLS_VERSION:
19427 case MASTER_USER:
19428 case MASTER_ZSTD_COMPRESSION_LEVEL:
19429 case MAXVALUE:
19430 case MAX_CONNECTIONS_PER_HOUR:
19431 case MAX_QUERIES_PER_HOUR:
19432 case MAX_ROWS:
19433 case MAX_SIZE:
19434 case MAX_UPDATES_PER_HOUR:
19435 case MAX_USER_CONNECTIONS:
19436 case MEDIUM:
19437 case MEMBER:
19438 case MEMORY:
19439 case MERGE:
19440 case MESSAGE_TEXT:
19441 case MICROSECOND:
19442 case MIGRATE:
19443 case MINUTE:
19444 case MIN_ROWS:
19445 case MODE:
19446 case MODIFY:
19447 case MONTH:
19448 case MULTILINESTRING:
19449 case MULTIPOINT:
19450 case MULTIPOLYGON:
19451 case MUTEX:
19452 case MYSQL_ERRNO:
19453 case NAME:
19454 case NAMES:
19455 case NATIONAL:
19456 case NCHAR:
19457 case NDBCLUSTER:
19458 case NESTED:
19459 case NETWORK_NAMESPACE:
19460 case NEVER:
19461 case NEW:
19462 case NEXT:
19463 case NO:
19464 case NODEGROUP:
19465 case NONE:
19466 case NOWAIT:
19467 case NO_WAIT:
19468 case NULLS:
19469 case NUMBER:
19470 case NVARCHAR:
19471 case OFF:
19472 case OFFSET:
19473 case OJ:
19474 case OLD:
19475 case ONE:
19476 case ONLY:
19477 case OPEN:
19478 case OPTIONAL:
19479 case OPTIONS:
19480 case ORDINALITY:
19481 case ORGANIZATION:
19482 case OTHERS:
19483 case OWNER:
19484 case PACK_KEYS:
19485 case PAGE:
19486 case PARSER:
19487 case PARTIAL:
19488 case PARTITIONING:
19489 case PARTITIONS:
19490 case PASSWORD:
19491 case PASSWORD_LOCK_TIME:
19492 case PATH:
19493 case PERSIST:
19494 case PERSIST_ONLY:
19495 case PHASE:
19496 case PLUGIN:
19497 case PLUGINS:
19498 case PLUGIN_DIR:
19499 case POINT:
19500 case POLYGON:
19501 case PORT:
19502 case PRECEDES:
19503 case PRECEDING:
19504 case PREPARE:
19505 case PRESERVE:
19506 case PREV:
19507 case PRIMARY:
19508 case PRIVILEGES:
19509 case PRIVILEGE_CHECKS_USER:
19510 case PROCESS:
19511 case PROCESSLIST:
19512 case PROFILE:
19513 case PROFILES:
19514 case PROXY:
19515 case QUARTER:
19516 case QUERY:
19517 case QUICK:
19518 case RANDOM:
19519 case READ_ONLY:
19520 case REBUILD:
19521 case RECOVER:
19522 case REDO_BUFFER_SIZE:
19523 case REDUNDANT:
19524 case REFERENCE:
19525 case RELAY:
19526 case RELAYLOG:
19527 case RELAY_LOG_FILE:
19528 case RELAY_LOG_POS:
19529 case RELAY_THREAD:
19530 case RELOAD:
19531 case REMOVE:
19532 case REORGANIZE:
19533 case REPAIR:
19534 case REPEATABLE:
19535 case REPLICATE_DO_DB:
19536 case REPLICATE_DO_TABLE:
19537 case REPLICATE_IGNORE_DB:
19538 case REPLICATE_IGNORE_TABLE:
19539 case REPLICATE_REWRITE_DB:
19540 case REPLICATE_WILD_DO_TABLE:
19541 case REPLICATE_WILD_IGNORE_TABLE:
19542 case REPLICATION:
19543 case REQUIRE_ROW_FORMAT:
19544 case RESET:
19545 case RESOURCE:
19546 case RESPECT:
19547 case RESTART:
19548 case RESTORE:
19549 case RESUME:
19550 case RETAIN:
19551 case RETURNED_SQLSTATE:
19552 case RETURNING:
19553 case RETURNS:
19554 case REUSE:
19555 case REVERSE:
19556 case ROLE:
19557 case ROLLBACK:
19558 case ROLLUP:
19559 case ROTATE:
19560 case ROUTINE:
19561 case ROW_COUNT:
19562 case ROW_FORMAT:
19563 case RTREE:
19564 case SAVEPOINT:
19565 case SCHEDULE:
19566 case SCHEMA_NAME:
19567 case SECOND:
19568 case SECONDARY:
19569 case SECONDARY_ENGINE:
19570 case SECONDARY_ENGINE_ATTRIBUTE:
19571 case SECONDARY_LOAD:
19572 case SECONDARY_UNLOAD:
19573 case SECURITY:
19574 case SERIAL:
19575 case SERIALIZABLE:
19576 case SERVER:
19577 case SESSION:
19578 case SHARE:
19579 case SHUTDOWN:
19580 case SIGNED:
19581 case SIMPLE:
19582 case SLAVE:
19583 case SLOW:
19584 case SNAPSHOT:
19585 case SOCKET:
19586 case SONAME:
19587 case SOUNDS:
19588 case SOURCE:
19589 case SQL_AFTER_GTIDS:
19590 case SQL_AFTER_MTS_GAPS:
19591 case SQL_BEFORE_GTIDS:
19592 case SQL_BUFFER_RESULT:
19593 case SQL_NO_CACHE:
19594 case SQL_THREAD:
19595 case SRID:
19596 case STACKED:
19597 case START:
19598 case STARTS:
19599 case STATS_AUTO_RECALC:
19600 case STATS_PERSISTENT:
19601 case STATS_SAMPLE_PAGES:
19602 case STATUS:
19603 case STOP:
19604 case STORAGE:
19605 case STREAM:
19606 case STRING:
19607 case SUBCLASS_ORIGIN:
19608 case SUBJECT:
19609 case SUBPARTITION:
19610 case SUBPARTITIONS:
19611 case SUPER:
19612 case SUSPEND:
19613 case SWAPS:
19614 case SWITCHES:
19615 case SYSTEM:
19616 case TABLE:
19617 case TABLES:
19618 case TABLESPACE:
19619 case TABLE_CHECKSUM:
19620 case TABLE_NAME:
19621 case TEMPORARY:
19622 case TEMPTABLE:
19623 case TEXT:
19624 case THAN:
19625 case THREAD_PRIORITY:
19626 case TIES:
19627 case TIME:
19628 case TIMESTAMP:
19629 case TIMESTAMP_ADD:
19630 case TIMESTAMP_DIFF:
19631 case TLS:
19632 case TRANSACTION:
19633 case TRIGGERS:
19634 case TRUNCATE:
19635 case TYPE:
19636 case TYPES:
19637 case UNBOUNDED:
19638 case UNCOMMITTED:
19639 case UNDEFINED:
19640 case UNDOFILE:
19641 case UNDO_BUFFER_SIZE:
19642 case UNICODE:
19643 case UNINSTALL:
19644 case UNKNOWN:
19645 case UNTIL:
19646 case UPGRADE:
19647 case USER:
19648 case USER_RESOURCES:
19649 case USE_FRM:
19650 case UTC_DATE:
19651 case UTC_TIME:
19652 case UTC_TIMESTAMP:
19653 case VALIDATION:
19654 case VALUE:
19655 case VARIABLES:
19656 case VCPU:
19657 case VIEW:
19658 case VISIBLE:
19659 case WAIT:
19660 case WARNINGS:
19661 case WEEK:
19662 case WEIGHT_STRING:
19663 case WITHOUT:
19664 case WORK:
19665 case WRAPPER:
19666 case X509:
19667 case XA:
19668 case XID:
19669 case XML:
19670 case YEAR:
19671 case YEAR_MONTH:
19672 case DOUBLE_QUOTED_TEXT:
19673 case BQUOTA_STRING:
19674 case UNDERSCORE_CHARSET:
19675 case IDENTIFIER_:
19676 {
19677 setState(1981);
19678 identifier();
19679 }
19680 break;
19681 default:
19682 throw new NoViableAltException(this);
19683 }
19684 }
19685 }
19686 catch (RecognitionException re) {
19687 _localctx.exception = re;
19688 _errHandler.reportError(this, re);
19689 _errHandler.recover(this, re);
19690 }
19691 finally {
19692 exitRule();
19693 }
19694 return _localctx;
19695 }
19696
19697 public static class WindowSpecificationContext extends ParserRuleContext {
19698 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
19699 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
19700 public IdentifierContext identifier() {
19701 return getRuleContext(IdentifierContext.class,0);
19702 }
19703 public TerminalNode PARTITION() { return getToken(HiveStatementParser.PARTITION, 0); }
19704 public TerminalNode BY() { return getToken(HiveStatementParser.BY, 0); }
19705 public List<ExprContext> expr() {
19706 return getRuleContexts(ExprContext.class);
19707 }
19708 public ExprContext expr(int i) {
19709 return getRuleContext(ExprContext.class,i);
19710 }
19711 public OrderByClauseContext orderByClause() {
19712 return getRuleContext(OrderByClauseContext.class,0);
19713 }
19714 public FrameClauseContext frameClause() {
19715 return getRuleContext(FrameClauseContext.class,0);
19716 }
19717 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
19718 public TerminalNode COMMA_(int i) {
19719 return getToken(HiveStatementParser.COMMA_, i);
19720 }
19721 public WindowSpecificationContext(ParserRuleContext parent, int invokingState) {
19722 super(parent, invokingState);
19723 }
19724 @Override public int getRuleIndex() { return RULE_windowSpecification; }
19725 @Override
19726 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19727 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitWindowSpecification(this);
19728 else return visitor.visitChildren(this);
19729 }
19730 }
19731
19732 public final WindowSpecificationContext windowSpecification() throws RecognitionException {
19733 WindowSpecificationContext _localctx = new WindowSpecificationContext(_ctx, getState());
19734 enterRule(_localctx, 352, RULE_windowSpecification);
19735 int _la;
19736 try {
19737 enterOuterAlt(_localctx, 1);
19738 {
19739 setState(1984);
19740 match(LP_);
19741 setState(1986);
19742 _errHandler.sync(this);
19743 _la = _input.LA(1);
19744 if (((((_la - 47)) & ~0x3f) == 0 && ((1L << (_la - 47)) & ((1L << (MAX - 47)) | (1L << (MIN - 47)) | (1L << (SUM - 47)) | (1L << (COUNT - 47)) | (1L << (GROUP_CONCAT - 47)) | (1L << (CAST - 47)) | (1L << (POSITION - 47)) | (1L << (SUBSTRING - 47)) | (1L << (SUBSTR - 47)) | (1L << (EXTRACT - 47)) | (1L << (TRIM - 47)) | (1L << (LAST_DAY - 47)) | (1L << (TRADITIONAL - 47)) | (1L << (TREE - 47)) | (1L << (MYSQL_MAIN - 47)) | (1L << (MYSQL_ADMIN - 47)) | (1L << (INSTANT - 47)) | (1L << (INPLACE - 47)) | (1L << (COPY - 47)) | (1L << (UL_BINARY - 47)) | (1L << (AUTOCOMMIT - 47)) | (1L << (INNODB - 47)) | (1L << (REDO_LOG - 47)) | (1L << (ACCOUNT - 47)) | (1L << (ACTION - 47)) | (1L << (ACTIVE - 47)) | (1L << (ADMIN - 47)) | (1L << (AFTER - 47)) | (1L << (AGAINST - 47)) | (1L << (AGGREGATE - 47)) | (1L << (ALGORITHM - 47)) | (1L << (ALWAYS - 47)) | (1L << (ANY - 47)) | (1L << (ARRAY - 47)) | (1L << (ASCII - 47)) | (1L << (AT - 47)) | (1L << (ATTRIBUTE - 47)) | (1L << (AUTOEXTEND_SIZE - 47)) | (1L << (AUTO_INCREMENT - 47)) | (1L << (AVG - 47)) | (1L << (BIT_XOR - 47)) | (1L << (AVG_ROW_LENGTH - 47)) | (1L << (BACKUP - 47)) | (1L << (BEGIN - 47)) | (1L << (BINLOG - 47)) | (1L << (BIT - 47)) | (1L << (BLOCK - 47)))) != 0) || ((((_la - 111)) & ~0x3f) == 0 && ((1L << (_la - 111)) & ((1L << (BOOL - 111)) | (1L << (BOOLEAN - 111)) | (1L << (BTREE - 111)) | (1L << (BUCKETS - 111)) | (1L << (BYTE - 111)) | (1L << (CACHE - 111)) | (1L << (CASCADED - 111)) | (1L << (CATALOG_NAME - 111)) | (1L << (CHAIN - 111)) | (1L << (CHANGED - 111)) | (1L << (CHANNEL - 111)) | (1L << (CHARSET - 111)) | (1L << (CHECKSUM - 111)) | (1L << (CIPHER - 111)) | (1L << (CLASS_ORIGIN - 111)) | (1L << (CLIENT - 111)) | (1L << (CLONE - 111)) | (1L << (CLOSE - 111)) | (1L << (COALESCE - 111)) | (1L << (CODE - 111)) | (1L << (COLLATION - 111)) | (1L << (COLUMNS - 111)) | (1L << (COLUMN_FORMAT - 111)) | (1L << (COLUMN_NAME - 111)) | (1L << (COMMENT - 111)) | (1L << (COMMIT - 111)) | (1L << (COMMITTED - 111)) | (1L << (COMPACT - 111)) | (1L << (COMPLETION - 111)) | (1L << (COMPONENT - 111)) | (1L << (COMPRESSED - 111)) | (1L << (COMPRESSION - 111)) | (1L << (CONCURRENT - 111)) | (1L << (CONNECTION - 111)) | (1L << (CONSISTENT - 111)) | (1L << (CONSTRAINT_CATALOG - 111)) | (1L << (CONSTRAINT_NAME - 111)) | (1L << (CONSTRAINT_SCHEMA - 111)) | (1L << (CONTAINS - 111)) | (1L << (CONTEXT - 111)) | (1L << (CPU - 111)) | (1L << (CREATE - 111)) | (1L << (CURRENT - 111)))) != 0) || ((((_la - 179)) & ~0x3f) == 0 && ((1L << (_la - 179)) & ((1L << (CURSOR_NAME - 179)) | (1L << (DATA - 179)) | (1L << (DATAFILE - 179)) | (1L << (DATE - 179)) | (1L << (DATETIME - 179)) | (1L << (DAY - 179)) | (1L << (DAY_MINUTE - 179)) | (1L << (DEALLOCATE - 179)) | (1L << (DEFAULT_AUTH - 179)) | (1L << (DEFINER - 179)) | (1L << (DEFINITION - 179)) | (1L << (DELAY_KEY_WRITE - 179)) | (1L << (DESCRIPTION - 179)) | (1L << (DIAGNOSTICS - 179)) | (1L << (DIRECTORY - 179)) | (1L << (DISABLE - 179)) | (1L << (DISCARD - 179)) | (1L << (DISK - 179)) | (1L << (DO - 179)) | (1L << (DUMPFILE - 179)) | (1L << (DUPLICATE - 179)) | (1L << (DYNAMIC - 179)) | (1L << (ENABLE - 179)) | (1L << (ENCRYPTION - 179)) | (1L << (END - 179)) | (1L << (ENDS - 179)) | (1L << (ENFORCED - 179)) | (1L << (ENGINE - 179)) | (1L << (ENGINES - 179)) | (1L << (ENGINE_ATTRIBUTE - 179)) | (1L << (ENUM - 179)) | (1L << (ERROR - 179)) | (1L << (ERRORS - 179)) | (1L << (ESCAPE - 179)) | (1L << (EVENT - 179)) | (1L << (EVENTS - 179)) | (1L << (EVERY - 179)))) != 0) || ((((_la - 244)) & ~0x3f) == 0 && ((1L << (_la - 244)) & ((1L << (EXCHANGE - 244)) | (1L << (EXCLUDE - 244)) | (1L << (EXECUTE - 244)) | (1L << (EXPANSION - 244)) | (1L << (EXPIRE - 244)) | (1L << (EXPORT - 244)) | (1L << (EXTENDED - 244)) | (1L << (EXTENT_SIZE - 244)) | (1L << (FAILED_LOGIN_ATTEMPTS - 244)) | (1L << (FAST - 244)) | (1L << (FAULTS - 244)) | (1L << (FILE - 244)) | (1L << (FILE_BLOCK_SIZE - 244)) | (1L << (FILTER - 244)) | (1L << (FIRST - 244)) | (1L << (FIXED - 244)) | (1L << (FLUSH - 244)) | (1L << (FOLLOWING - 244)) | (1L << (FOLLOWS - 244)) | (1L << (FORMAT - 244)) | (1L << (FOUND - 244)) | (1L << (FULL - 244)) | (1L << (GENERAL - 244)) | (1L << (GEOMETRY - 244)) | (1L << (GEOMETRYCOLLECTION - 244)) | (1L << (GET_FORMAT - 244)) | (1L << (GET_MASTER_PUBLIC_KEY - 244)) | (1L << (GLOBAL - 244)) | (1L << (GRANTS - 244)) | (1L << (GROUP_REPLICATION - 244)) | (1L << (HANDLER - 244)) | (1L << (HASH - 244)) | (1L << (HELP - 244)) | (1L << (HISTOGRAM - 244)) | (1L << (HISTORY - 244)) | (1L << (HOST - 244)) | (1L << (HOSTS - 244)))) != 0) || ((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & ((1L << (HOUR - 308)) | (1L << (IDENTIFIED - 308)) | (1L << (IGNORE_SERVER_IDS - 308)) | (1L << (IMPORT - 308)) | (1L << (INACTIVE - 308)) | (1L << (INDEXES - 308)) | (1L << (INITIAL_SIZE - 308)) | (1L << (INSERT_METHOD - 308)) | (1L << (INSTALL - 308)) | (1L << (INSTANCE - 308)) | (1L << (INVISIBLE - 308)) | (1L << (INVOKER - 308)) | (1L << (IO - 308)) | (1L << (IPC - 308)) | (1L << (ISOLATION - 308)) | (1L << (ISSUER - 308)) | (1L << (JSON - 308)) | (1L << (JSON_VALUE - 308)) | (1L << (KEY - 308)) | (1L << (KEY_BLOCK_SIZE - 308)) | (1L << (LANGUAGE - 308)) | (1L << (LAST - 308)) | (1L << (LAST_VALUE - 308)) | (1L << (LEAVES - 308)) | (1L << (LESS - 308)) | (1L << (LEVEL - 308)))) != 0) || ((((_la - 373)) & ~0x3f) == 0 && ((1L << (_la - 373)) & ((1L << (LINESTRING - 373)) | (1L << (LIST - 373)) | (1L << (LOCAL - 373)) | (1L << (LOCKED - 373)) | (1L << (LOCKS - 373)) | (1L << (LOGFILE - 373)) | (1L << (LOGS - 373)) | (1L << (MASTER - 373)) | (1L << (MASTER_AUTO_POSITION - 373)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 373)) | (1L << (MASTER_CONNECT_RETRY - 373)) | (1L << (MASTER_DELAY - 373)) | (1L << (MASTER_HEARTBEAT_PERIOD - 373)) | (1L << (MASTER_HOST - 373)) | (1L << (MASTER_LOG_FILE - 373)) | (1L << (MASTER_LOG_POS - 373)) | (1L << (MASTER_PASSWORD - 373)) | (1L << (MASTER_PORT - 373)) | (1L << (MASTER_PUBLIC_KEY_PATH - 373)) | (1L << (MASTER_RETRY_COUNT - 373)) | (1L << (MASTER_SERVER_ID - 373)) | (1L << (MASTER_SSL - 373)) | (1L << (MASTER_SSL_CA - 373)) | (1L << (MASTER_SSL_CAPATH - 373)) | (1L << (MASTER_SSL_CERT - 373)) | (1L << (MASTER_SSL_CIPHER - 373)) | (1L << (MASTER_SSL_CRL - 373)) | (1L << (MASTER_SSL_CRLPATH - 373)) | (1L << (MASTER_SSL_KEY - 373)) | (1L << (MASTER_TLS_CIPHERSUITES - 373)) | (1L << (MASTER_TLS_VERSION - 373)) | (1L << (MASTER_USER - 373)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 373)) | (1L << (MAXVALUE - 373)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 373)) | (1L << (MAX_QUERIES_PER_HOUR - 373)) | (1L << (MAX_ROWS - 373)) | (1L << (MAX_SIZE - 373)) | (1L << (MAX_UPDATES_PER_HOUR - 373)) | (1L << (MAX_USER_CONNECTIONS - 373)) | (1L << (MEDIUM - 373)) | (1L << (MEMBER - 373)) | (1L << (MEMORY - 373)) | (1L << (MERGE - 373)) | (1L << (MESSAGE_TEXT - 373)) | (1L << (MICROSECOND - 373)))) != 0) || ((((_la - 437)) & ~0x3f) == 0 && ((1L << (_la - 437)) & ((1L << (MIGRATE - 437)) | (1L << (MINUTE - 437)) | (1L << (MIN_ROWS - 437)) | (1L << (MODE - 437)) | (1L << (MODIFY - 437)) | (1L << (MONTH - 437)) | (1L << (MULTILINESTRING - 437)) | (1L << (MULTIPOINT - 437)) | (1L << (MULTIPOLYGON - 437)) | (1L << (MUTEX - 437)) | (1L << (MYSQL_ERRNO - 437)) | (1L << (NAME - 437)) | (1L << (NAMES - 437)) | (1L << (NATIONAL - 437)) | (1L << (NCHAR - 437)) | (1L << (NDBCLUSTER - 437)) | (1L << (NESTED - 437)) | (1L << (NETWORK_NAMESPACE - 437)) | (1L << (NEVER - 437)) | (1L << (NEW - 437)) | (1L << (NEXT - 437)) | (1L << (NO - 437)) | (1L << (NODEGROUP - 437)) | (1L << (NONE - 437)) | (1L << (NOWAIT - 437)) | (1L << (NO_WAIT - 437)) | (1L << (NULLS - 437)) | (1L << (NUMBER - 437)) | (1L << (NVARCHAR - 437)) | (1L << (OFF - 437)) | (1L << (OFFSET - 437)) | (1L << (OJ - 437)) | (1L << (OLD - 437)) | (1L << (ONE - 437)) | (1L << (ONLY - 437)) | (1L << (OPEN - 437)) | (1L << (OPTIONAL - 437)) | (1L << (OPTIONS - 437)) | (1L << (ORDINALITY - 437)) | (1L << (ORGANIZATION - 437)) | (1L << (OTHERS - 437)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (OWNER - 505)) | (1L << (PACK_KEYS - 505)) | (1L << (PAGE - 505)) | (1L << (PARSER - 505)) | (1L << (PARTIAL - 505)) | (1L << (PARTITIONING - 505)) | (1L << (PARTITIONS - 505)) | (1L << (PASSWORD - 505)) | (1L << (PASSWORD_LOCK_TIME - 505)) | (1L << (PATH - 505)) | (1L << (PERSIST - 505)) | (1L << (PERSIST_ONLY - 505)) | (1L << (PHASE - 505)) | (1L << (PLUGIN - 505)) | (1L << (PLUGINS - 505)) | (1L << (PLUGIN_DIR - 505)) | (1L << (POINT - 505)) | (1L << (POLYGON - 505)) | (1L << (PORT - 505)) | (1L << (PRECEDES - 505)) | (1L << (PRECEDING - 505)) | (1L << (PREPARE - 505)) | (1L << (PRESERVE - 505)) | (1L << (PREV - 505)) | (1L << (PRIMARY - 505)) | (1L << (PRIVILEGES - 505)) | (1L << (PRIVILEGE_CHECKS_USER - 505)) | (1L << (PROCESS - 505)) | (1L << (PROCESSLIST - 505)) | (1L << (PROFILE - 505)) | (1L << (PROFILES - 505)) | (1L << (PROXY - 505)) | (1L << (QUARTER - 505)) | (1L << (QUERY - 505)) | (1L << (QUICK - 505)) | (1L << (RANDOM - 505)) | (1L << (READ_ONLY - 505)) | (1L << (REBUILD - 505)) | (1L << (RECOVER - 505)) | (1L << (REDO_BUFFER_SIZE - 505)) | (1L << (REDUNDANT - 505)) | (1L << (REFERENCE - 505)) | (1L << (RELAY - 505)) | (1L << (RELAYLOG - 505)) | (1L << (RELAY_LOG_FILE - 505)) | (1L << (RELAY_LOG_POS - 505)) | (1L << (RELAY_THREAD - 505)) | (1L << (RELOAD - 505)) | (1L << (REMOVE - 505)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (REORGANIZE - 570)) | (1L << (REPAIR - 570)) | (1L << (REPEATABLE - 570)) | (1L << (REPLICATE_DO_DB - 570)) | (1L << (REPLICATE_DO_TABLE - 570)) | (1L << (REPLICATE_IGNORE_DB - 570)) | (1L << (REPLICATE_IGNORE_TABLE - 570)) | (1L << (REPLICATE_REWRITE_DB - 570)) | (1L << (REPLICATE_WILD_DO_TABLE - 570)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 570)) | (1L << (REPLICATION - 570)) | (1L << (REQUIRE_ROW_FORMAT - 570)) | (1L << (RESET - 570)) | (1L << (RESOURCE - 570)) | (1L << (RESPECT - 570)) | (1L << (RESTART - 570)) | (1L << (RESTORE - 570)) | (1L << (RESUME - 570)) | (1L << (RETAIN - 570)) | (1L << (RETURNED_SQLSTATE - 570)) | (1L << (RETURNING - 570)) | (1L << (RETURNS - 570)) | (1L << (REUSE - 570)) | (1L << (REVERSE - 570)) | (1L << (ROLE - 570)) | (1L << (ROLLBACK - 570)) | (1L << (ROLLUP - 570)) | (1L << (ROTATE - 570)) | (1L << (ROUTINE - 570)) | (1L << (ROW_COUNT - 570)) | (1L << (ROW_FORMAT - 570)) | (1L << (RTREE - 570)) | (1L << (SAVEPOINT - 570)) | (1L << (SCHEDULE - 570)) | (1L << (SCHEMA_NAME - 570)) | (1L << (SECOND - 570)) | (1L << (SECONDARY - 570)) | (1L << (SECONDARY_ENGINE - 570)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 570)) | (1L << (SECONDARY_LOAD - 570)) | (1L << (SECONDARY_UNLOAD - 570)) | (1L << (SECURITY - 570)) | (1L << (SERIAL - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (SERIALIZABLE - 634)) | (1L << (SERVER - 634)) | (1L << (SESSION - 634)) | (1L << (SHARE - 634)) | (1L << (SHUTDOWN - 634)) | (1L << (SIGNED - 634)) | (1L << (SIMPLE - 634)) | (1L << (SLAVE - 634)) | (1L << (SLOW - 634)) | (1L << (SNAPSHOT - 634)) | (1L << (SOCKET - 634)) | (1L << (SONAME - 634)) | (1L << (SOUNDS - 634)) | (1L << (SOURCE - 634)) | (1L << (SQL_AFTER_GTIDS - 634)) | (1L << (SQL_AFTER_MTS_GAPS - 634)) | (1L << (SQL_BEFORE_GTIDS - 634)) | (1L << (SQL_BUFFER_RESULT - 634)) | (1L << (SQL_NO_CACHE - 634)) | (1L << (SQL_THREAD - 634)) | (1L << (SRID - 634)) | (1L << (STACKED - 634)) | (1L << (START - 634)) | (1L << (STARTS - 634)) | (1L << (STATS_AUTO_RECALC - 634)) | (1L << (STATS_PERSISTENT - 634)) | (1L << (STATS_SAMPLE_PAGES - 634)) | (1L << (STATUS - 634)) | (1L << (STOP - 634)) | (1L << (STORAGE - 634)) | (1L << (STREAM - 634)) | (1L << (STRING - 634)) | (1L << (SUBCLASS_ORIGIN - 634)) | (1L << (SUBJECT - 634)) | (1L << (SUBPARTITION - 634)) | (1L << (SUBPARTITIONS - 634)) | (1L << (SUPER - 634)) | (1L << (SUSPEND - 634)) | (1L << (SWAPS - 634)) | (1L << (SWITCHES - 634)) | (1L << (SYSTEM - 634)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (TABLE - 722)) | (1L << (TABLES - 722)) | (1L << (TABLESPACE - 722)) | (1L << (TABLE_CHECKSUM - 722)) | (1L << (TABLE_NAME - 722)) | (1L << (TEMPORARY - 722)) | (1L << (TEMPTABLE - 722)) | (1L << (TEXT - 722)) | (1L << (THAN - 722)) | (1L << (THREAD_PRIORITY - 722)) | (1L << (TIES - 722)) | (1L << (TIME - 722)) | (1L << (TIMESTAMP - 722)) | (1L << (TIMESTAMP_ADD - 722)) | (1L << (TIMESTAMP_DIFF - 722)) | (1L << (TLS - 722)) | (1L << (TRANSACTION - 722)) | (1L << (TRIGGERS - 722)) | (1L << (TRUNCATE - 722)) | (1L << (TYPE - 722)) | (1L << (TYPES - 722)) | (1L << (UNBOUNDED - 722)) | (1L << (UNCOMMITTED - 722)) | (1L << (UNDEFINED - 722)) | (1L << (UNDOFILE - 722)) | (1L << (UNDO_BUFFER_SIZE - 722)) | (1L << (UNICODE - 722)) | (1L << (UNINSTALL - 722)) | (1L << (UNKNOWN - 722)) | (1L << (UNTIL - 722)) | (1L << (UPGRADE - 722)) | (1L << (USER - 722)) | (1L << (USER_RESOURCES - 722)) | (1L << (USE_FRM - 722)) | (1L << (UTC_DATE - 722)) | (1L << (UTC_TIME - 722)) | (1L << (UTC_TIMESTAMP - 722)) | (1L << (VALIDATION - 722)) | (1L << (VALUE - 722)) | (1L << (VARIABLES - 722)))) != 0) || ((((_la - 787)) & ~0x3f) == 0 && ((1L << (_la - 787)) & ((1L << (VCPU - 787)) | (1L << (VIEW - 787)) | (1L << (VISIBLE - 787)) | (1L << (WAIT - 787)) | (1L << (WARNINGS - 787)) | (1L << (WEEK - 787)) | (1L << (WEIGHT_STRING - 787)) | (1L << (WITHOUT - 787)) | (1L << (WORK - 787)) | (1L << (WRAPPER - 787)) | (1L << (X509 - 787)) | (1L << (XA - 787)) | (1L << (XID - 787)) | (1L << (XML - 787)) | (1L << (YEAR - 787)) | (1L << (YEAR_MONTH - 787)) | (1L << (DOUBLE_QUOTED_TEXT - 787)) | (1L << (BQUOTA_STRING - 787)) | (1L << (UNDERSCORE_CHARSET - 787)))) != 0) || _la==IDENTIFIER_) {
19745 {
19746 setState(1985);
19747 identifier();
19748 }
19749 }
19750
19751 setState(1998);
19752 _errHandler.sync(this);
19753 _la = _input.LA(1);
19754 if (_la==PARTITION) {
19755 {
19756 setState(1988);
19757 match(PARTITION);
19758 setState(1989);
19759 match(BY);
19760 setState(1990);
19761 expr(0);
19762 setState(1995);
19763 _errHandler.sync(this);
19764 _la = _input.LA(1);
19765 while (_la==COMMA_) {
19766 {
19767 {
19768 setState(1991);
19769 match(COMMA_);
19770 setState(1992);
19771 expr(0);
19772 }
19773 }
19774 setState(1997);
19775 _errHandler.sync(this);
19776 _la = _input.LA(1);
19777 }
19778 }
19779 }
19780
19781 setState(2001);
19782 _errHandler.sync(this);
19783 _la = _input.LA(1);
19784 if (_la==ORDER) {
19785 {
19786 setState(2000);
19787 orderByClause();
19788 }
19789 }
19790
19791 setState(2004);
19792 _errHandler.sync(this);
19793 _la = _input.LA(1);
19794 if (_la==RANGE || _la==ROWS) {
19795 {
19796 setState(2003);
19797 frameClause();
19798 }
19799 }
19800
19801 setState(2006);
19802 match(RP_);
19803 }
19804 }
19805 catch (RecognitionException re) {
19806 _localctx.exception = re;
19807 _errHandler.reportError(this, re);
19808 _errHandler.recover(this, re);
19809 }
19810 finally {
19811 exitRule();
19812 }
19813 return _localctx;
19814 }
19815
19816 public static class FrameClauseContext extends ParserRuleContext {
19817 public TerminalNode ROWS() { return getToken(HiveStatementParser.ROWS, 0); }
19818 public TerminalNode RANGE() { return getToken(HiveStatementParser.RANGE, 0); }
19819 public FrameStartContext frameStart() {
19820 return getRuleContext(FrameStartContext.class,0);
19821 }
19822 public FrameBetweenContext frameBetween() {
19823 return getRuleContext(FrameBetweenContext.class,0);
19824 }
19825 public FrameClauseContext(ParserRuleContext parent, int invokingState) {
19826 super(parent, invokingState);
19827 }
19828 @Override public int getRuleIndex() { return RULE_frameClause; }
19829 @Override
19830 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19831 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFrameClause(this);
19832 else return visitor.visitChildren(this);
19833 }
19834 }
19835
19836 public final FrameClauseContext frameClause() throws RecognitionException {
19837 FrameClauseContext _localctx = new FrameClauseContext(_ctx, getState());
19838 enterRule(_localctx, 354, RULE_frameClause);
19839 int _la;
19840 try {
19841 enterOuterAlt(_localctx, 1);
19842 {
19843 setState(2008);
19844 _la = _input.LA(1);
19845 if ( !(_la==RANGE || _la==ROWS) ) {
19846 _errHandler.recoverInline(this);
19847 }
19848 else {
19849 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19850 _errHandler.reportMatch(this);
19851 consume();
19852 }
19853 setState(2011);
19854 _errHandler.sync(this);
19855 switch (_input.LA(1)) {
19856 case NOT_:
19857 case TILDE_:
19858 case PLUS_:
19859 case MINUS_:
19860 case LP_:
19861 case LBE_:
19862 case QUESTION_:
19863 case AT_:
19864 case MAX:
19865 case MIN:
19866 case SUM:
19867 case COUNT:
19868 case GROUP_CONCAT:
19869 case CAST:
19870 case POSITION:
19871 case SUBSTRING:
19872 case SUBSTR:
19873 case EXTRACT:
19874 case TRIM:
19875 case LAST_DAY:
19876 case TRADITIONAL:
19877 case TREE:
19878 case MYSQL_MAIN:
19879 case MYSQL_ADMIN:
19880 case INSTANT:
19881 case INPLACE:
19882 case COPY:
19883 case UL_BINARY:
19884 case AUTOCOMMIT:
19885 case INNODB:
19886 case REDO_LOG:
19887 case ACCOUNT:
19888 case ACTION:
19889 case ACTIVE:
19890 case ADMIN:
19891 case AFTER:
19892 case AGAINST:
19893 case AGGREGATE:
19894 case ALGORITHM:
19895 case ALWAYS:
19896 case ANY:
19897 case ARRAY:
19898 case ASCII:
19899 case AT:
19900 case ATTRIBUTE:
19901 case AUTOEXTEND_SIZE:
19902 case AUTO_INCREMENT:
19903 case AVG:
19904 case BIT_XOR:
19905 case AVG_ROW_LENGTH:
19906 case BACKUP:
19907 case BEGIN:
19908 case BINARY:
19909 case BINLOG:
19910 case BIT:
19911 case BLOCK:
19912 case BOOL:
19913 case BOOLEAN:
19914 case BTREE:
19915 case BUCKETS:
19916 case BYTE:
19917 case CACHE:
19918 case CASCADED:
19919 case CASE:
19920 case CATALOG_NAME:
19921 case CHAIN:
19922 case CHANGED:
19923 case CHANNEL:
19924 case CHAR:
19925 case CHARSET:
19926 case CHECKSUM:
19927 case CIPHER:
19928 case CLASS_ORIGIN:
19929 case CLIENT:
19930 case CLONE:
19931 case CLOSE:
19932 case COALESCE:
19933 case CODE:
19934 case COLLATION:
19935 case COLUMNS:
19936 case COLUMN_FORMAT:
19937 case COLUMN_NAME:
19938 case COMMENT:
19939 case COMMIT:
19940 case COMMITTED:
19941 case COMPACT:
19942 case COMPLETION:
19943 case COMPONENT:
19944 case COMPRESSED:
19945 case COMPRESSION:
19946 case CONCURRENT:
19947 case CONNECTION:
19948 case CONSISTENT:
19949 case CONSTRAINT_CATALOG:
19950 case CONSTRAINT_NAME:
19951 case CONSTRAINT_SCHEMA:
19952 case CONTAINS:
19953 case CONTEXT:
19954 case CONVERT:
19955 case CPU:
19956 case CREATE:
19957 case CUME_DIST:
19958 case CURRENT:
19959 case CURRENT_DATE:
19960 case CURRENT_TIME:
19961 case CURRENT_TIMESTAMP:
19962 case CURRENT_USER:
19963 case CURSOR_NAME:
19964 case DATA:
19965 case DATABASE:
19966 case DATAFILE:
19967 case DATE:
19968 case DATETIME:
19969 case DAY:
19970 case DAY_MINUTE:
19971 case DEALLOCATE:
19972 case DEFAULT_AUTH:
19973 case DEFINER:
19974 case DEFINITION:
19975 case DELAY_KEY_WRITE:
19976 case DENSE_RANK:
19977 case DESCRIPTION:
19978 case DIAGNOSTICS:
19979 case DIRECTORY:
19980 case DISABLE:
19981 case DISCARD:
19982 case DISK:
19983 case DO:
19984 case DUMPFILE:
19985 case DUPLICATE:
19986 case DYNAMIC:
19987 case ENABLE:
19988 case ENCRYPTION:
19989 case END:
19990 case ENDS:
19991 case ENFORCED:
19992 case ENGINE:
19993 case ENGINES:
19994 case ENGINE_ATTRIBUTE:
19995 case ENUM:
19996 case ERROR:
19997 case ERRORS:
19998 case ESCAPE:
19999 case EVENT:
20000 case EVENTS:
20001 case EVERY:
20002 case EXCHANGE:
20003 case EXCLUDE:
20004 case EXECUTE:
20005 case EXISTS:
20006 case EXPANSION:
20007 case EXPIRE:
20008 case EXPORT:
20009 case EXTENDED:
20010 case EXTENT_SIZE:
20011 case FAILED_LOGIN_ATTEMPTS:
20012 case FALSE:
20013 case FAST:
20014 case FAULTS:
20015 case FILE:
20016 case FILE_BLOCK_SIZE:
20017 case FILTER:
20018 case FIRST:
20019 case FIRST_VALUE:
20020 case FIXED:
20021 case FLUSH:
20022 case FOLLOWING:
20023 case FOLLOWS:
20024 case FORMAT:
20025 case FOUND:
20026 case FULL:
20027 case GENERAL:
20028 case GEOMETRY:
20029 case GEOMETRYCOLLECTION:
20030 case GET_FORMAT:
20031 case GET_MASTER_PUBLIC_KEY:
20032 case GLOBAL:
20033 case GRANTS:
20034 case GROUP_REPLICATION:
20035 case HANDLER:
20036 case HASH:
20037 case HELP:
20038 case HISTOGRAM:
20039 case HISTORY:
20040 case HOST:
20041 case HOSTS:
20042 case HOUR:
20043 case IDENTIFIED:
20044 case IF:
20045 case IGNORE_SERVER_IDS:
20046 case IMPORT:
20047 case INACTIVE:
20048 case INDEXES:
20049 case INITIAL_SIZE:
20050 case INSERT:
20051 case INSERT_METHOD:
20052 case INSTALL:
20053 case INSTANCE:
20054 case INTERVAL:
20055 case INVISIBLE:
20056 case INVOKER:
20057 case IO:
20058 case IPC:
20059 case ISOLATION:
20060 case ISSUER:
20061 case JSON:
20062 case JSON_TABLE:
20063 case JSON_VALUE:
20064 case KEY:
20065 case KEY_BLOCK_SIZE:
20066 case LAG:
20067 case LANGUAGE:
20068 case LAST:
20069 case LAST_VALUE:
20070 case LEAD:
20071 case LEAVES:
20072 case LEFT:
20073 case LESS:
20074 case LEVEL:
20075 case LINESTRING:
20076 case LIST:
20077 case LOCAL:
20078 case LOCALTIME:
20079 case LOCALTIMESTAMP:
20080 case LOCKED:
20081 case LOCKS:
20082 case LOGFILE:
20083 case LOGS:
20084 case MASTER:
20085 case MASTER_AUTO_POSITION:
20086 case MASTER_COMPRESSION_ALGORITHM:
20087 case MASTER_CONNECT_RETRY:
20088 case MASTER_DELAY:
20089 case MASTER_HEARTBEAT_PERIOD:
20090 case MASTER_HOST:
20091 case MASTER_LOG_FILE:
20092 case MASTER_LOG_POS:
20093 case MASTER_PASSWORD:
20094 case MASTER_PORT:
20095 case MASTER_PUBLIC_KEY_PATH:
20096 case MASTER_RETRY_COUNT:
20097 case MASTER_SERVER_ID:
20098 case MASTER_SSL:
20099 case MASTER_SSL_CA:
20100 case MASTER_SSL_CAPATH:
20101 case MASTER_SSL_CERT:
20102 case MASTER_SSL_CIPHER:
20103 case MASTER_SSL_CRL:
20104 case MASTER_SSL_CRLPATH:
20105 case MASTER_SSL_KEY:
20106 case MASTER_TLS_CIPHERSUITES:
20107 case MASTER_TLS_VERSION:
20108 case MASTER_USER:
20109 case MASTER_ZSTD_COMPRESSION_LEVEL:
20110 case MATCH:
20111 case MAXVALUE:
20112 case MAX_CONNECTIONS_PER_HOUR:
20113 case MAX_QUERIES_PER_HOUR:
20114 case MAX_ROWS:
20115 case MAX_SIZE:
20116 case MAX_UPDATES_PER_HOUR:
20117 case MAX_USER_CONNECTIONS:
20118 case MEDIUM:
20119 case MEMBER:
20120 case MEMORY:
20121 case MERGE:
20122 case MESSAGE_TEXT:
20123 case MICROSECOND:
20124 case MIGRATE:
20125 case MINUTE:
20126 case MIN_ROWS:
20127 case MOD:
20128 case MODE:
20129 case MODIFY:
20130 case MONTH:
20131 case MULTILINESTRING:
20132 case MULTIPOINT:
20133 case MULTIPOLYGON:
20134 case MUTEX:
20135 case MYSQL_ERRNO:
20136 case NAME:
20137 case NAMES:
20138 case NATIONAL:
20139 case NCHAR:
20140 case NDBCLUSTER:
20141 case NESTED:
20142 case NETWORK_NAMESPACE:
20143 case NEVER:
20144 case NEW:
20145 case NEXT:
20146 case NO:
20147 case NODEGROUP:
20148 case NONE:
20149 case NOT:
20150 case NOWAIT:
20151 case NO_WAIT:
20152 case NTH_VALUE:
20153 case NTILE:
20154 case NULL:
20155 case NULLS:
20156 case NUMBER:
20157 case NVARCHAR:
20158 case OFF:
20159 case OFFSET:
20160 case OJ:
20161 case OLD:
20162 case ONE:
20163 case ONLY:
20164 case OPEN:
20165 case OPTIONAL:
20166 case OPTIONS:
20167 case ORDINALITY:
20168 case ORGANIZATION:
20169 case OTHERS:
20170 case OWNER:
20171 case PACK_KEYS:
20172 case PAGE:
20173 case PARSER:
20174 case PARTIAL:
20175 case PARTITIONING:
20176 case PARTITIONS:
20177 case PASSWORD:
20178 case PASSWORD_LOCK_TIME:
20179 case PATH:
20180 case PERCENT_RANK:
20181 case PERSIST:
20182 case PERSIST_ONLY:
20183 case PHASE:
20184 case PLUGIN:
20185 case PLUGINS:
20186 case PLUGIN_DIR:
20187 case POINT:
20188 case POLYGON:
20189 case PORT:
20190 case PRECEDES:
20191 case PRECEDING:
20192 case PREPARE:
20193 case PRESERVE:
20194 case PREV:
20195 case PRIMARY:
20196 case PRIVILEGES:
20197 case PRIVILEGE_CHECKS_USER:
20198 case PROCESS:
20199 case PROCESSLIST:
20200 case PROFILE:
20201 case PROFILES:
20202 case PROXY:
20203 case QUARTER:
20204 case QUERY:
20205 case QUICK:
20206 case RANDOM:
20207 case RANK:
20208 case READ_ONLY:
20209 case REBUILD:
20210 case RECOVER:
20211 case REDO_BUFFER_SIZE:
20212 case REDUNDANT:
20213 case REFERENCE:
20214 case RELAY:
20215 case RELAYLOG:
20216 case RELAY_LOG_FILE:
20217 case RELAY_LOG_POS:
20218 case RELAY_THREAD:
20219 case RELOAD:
20220 case REMOVE:
20221 case REORGANIZE:
20222 case REPAIR:
20223 case REPEAT:
20224 case REPEATABLE:
20225 case REPLACE:
20226 case REPLICATE_DO_DB:
20227 case REPLICATE_DO_TABLE:
20228 case REPLICATE_IGNORE_DB:
20229 case REPLICATE_IGNORE_TABLE:
20230 case REPLICATE_REWRITE_DB:
20231 case REPLICATE_WILD_DO_TABLE:
20232 case REPLICATE_WILD_IGNORE_TABLE:
20233 case REPLICATION:
20234 case REQUIRE_ROW_FORMAT:
20235 case RESET:
20236 case RESOURCE:
20237 case RESPECT:
20238 case RESTART:
20239 case RESTORE:
20240 case RESUME:
20241 case RETAIN:
20242 case RETURNED_SQLSTATE:
20243 case RETURNING:
20244 case RETURNS:
20245 case REUSE:
20246 case REVERSE:
20247 case RIGHT:
20248 case ROLE:
20249 case ROLLBACK:
20250 case ROLLUP:
20251 case ROTATE:
20252 case ROUTINE:
20253 case ROW:
20254 case ROW_COUNT:
20255 case ROW_FORMAT:
20256 case ROW_NUMBER:
20257 case RTREE:
20258 case SAVEPOINT:
20259 case SCHEDULE:
20260 case SCHEMA:
20261 case SCHEMA_NAME:
20262 case SECOND:
20263 case SECONDARY:
20264 case SECONDARY_ENGINE:
20265 case SECONDARY_ENGINE_ATTRIBUTE:
20266 case SECONDARY_LOAD:
20267 case SECONDARY_UNLOAD:
20268 case SECURITY:
20269 case SERIAL:
20270 case SERIALIZABLE:
20271 case SERVER:
20272 case SESSION:
20273 case SHARE:
20274 case SHUTDOWN:
20275 case SIGNED:
20276 case SIMPLE:
20277 case SLAVE:
20278 case SLOW:
20279 case SNAPSHOT:
20280 case SOCKET:
20281 case SONAME:
20282 case SOUNDS:
20283 case SOURCE:
20284 case SQL_AFTER_GTIDS:
20285 case SQL_AFTER_MTS_GAPS:
20286 case SQL_BEFORE_GTIDS:
20287 case SQL_BUFFER_RESULT:
20288 case SQL_NO_CACHE:
20289 case SQL_THREAD:
20290 case SRID:
20291 case STACKED:
20292 case START:
20293 case STARTS:
20294 case STATS_AUTO_RECALC:
20295 case STATS_PERSISTENT:
20296 case STATS_SAMPLE_PAGES:
20297 case STATUS:
20298 case STOP:
20299 case STORAGE:
20300 case STREAM:
20301 case STRING:
20302 case SUBCLASS_ORIGIN:
20303 case SUBJECT:
20304 case SUBPARTITION:
20305 case SUBPARTITIONS:
20306 case SUPER:
20307 case SUSPEND:
20308 case SWAPS:
20309 case SWITCHES:
20310 case SYSTEM:
20311 case TABLE:
20312 case TABLES:
20313 case TABLESPACE:
20314 case TABLE_CHECKSUM:
20315 case TABLE_NAME:
20316 case TEMPORARY:
20317 case TEMPTABLE:
20318 case TEXT:
20319 case THAN:
20320 case THREAD_PRIORITY:
20321 case TIES:
20322 case TIME:
20323 case TIMESTAMP:
20324 case TIMESTAMP_ADD:
20325 case TIMESTAMP_DIFF:
20326 case TLS:
20327 case TRANSACTION:
20328 case TRIGGERS:
20329 case TRUE:
20330 case TRUNCATE:
20331 case TYPE:
20332 case TYPES:
20333 case UNBOUNDED:
20334 case UNCOMMITTED:
20335 case UNDEFINED:
20336 case UNDOFILE:
20337 case UNDO_BUFFER_SIZE:
20338 case UNICODE:
20339 case UNINSTALL:
20340 case UNKNOWN:
20341 case UNTIL:
20342 case UPGRADE:
20343 case USER:
20344 case USER_RESOURCES:
20345 case USE_FRM:
20346 case UTC_DATE:
20347 case UTC_TIME:
20348 case UTC_TIMESTAMP:
20349 case VALIDATION:
20350 case VALUE:
20351 case VALUES:
20352 case VARIABLES:
20353 case VCPU:
20354 case VIEW:
20355 case VISIBLE:
20356 case WAIT:
20357 case WARNINGS:
20358 case WEEK:
20359 case WEIGHT_STRING:
20360 case WITHOUT:
20361 case WORK:
20362 case WRAPPER:
20363 case X509:
20364 case XA:
20365 case XID:
20366 case XML:
20367 case YEAR:
20368 case YEAR_MONTH:
20369 case JSON_ARRAY:
20370 case JSON_ARRAY_APPEND:
20371 case JSON_ARRAY_INSERT:
20372 case JSON_CONTAINS:
20373 case JSON_CONTAINS_PATH:
20374 case JSON_DEPTH:
20375 case JSON_EXTRACT:
20376 case JSON_INSERT:
20377 case JSON_KEYS:
20378 case JSON_LENGTH:
20379 case JSON_MERGE:
20380 case JSON_MERGE_PATCH:
20381 case JSON_MERGE_PRESERVE:
20382 case JSON_OBJECT:
20383 case JSON_OVERLAPS:
20384 case JSON_PRETTY:
20385 case JSON_QUOTE:
20386 case JSON_REMOVE:
20387 case JSON_REPLACE:
20388 case JSON_SCHEMA_VALID:
20389 case JSON_SCHEMA_VALIDATION_REPORT:
20390 case JSON_SEARCH:
20391 case JSON_SET:
20392 case JSON_STORAGE_FREE:
20393 case JSON_STORAGE_SIZE:
20394 case JSON_TYPE:
20395 case JSON_UNQUOTE:
20396 case JSON_VALID:
20397 case SINGLE_QUOTED_TEXT:
20398 case DOUBLE_QUOTED_TEXT:
20399 case BQUOTA_STRING:
20400 case NCHAR_TEXT:
20401 case UNDERSCORE_CHARSET:
20402 case NUMBER_:
20403 case HEX_DIGIT_:
20404 case BIT_NUM_:
20405 case IDENTIFIER_:
20406 case IP_ADDRESS:
20407 {
20408 setState(2009);
20409 frameStart();
20410 }
20411 break;
20412 case BETWEEN:
20413 {
20414 setState(2010);
20415 frameBetween();
20416 }
20417 break;
20418 default:
20419 throw new NoViableAltException(this);
20420 }
20421 }
20422 }
20423 catch (RecognitionException re) {
20424 _localctx.exception = re;
20425 _errHandler.reportError(this, re);
20426 _errHandler.recover(this, re);
20427 }
20428 finally {
20429 exitRule();
20430 }
20431 return _localctx;
20432 }
20433
20434 public static class FrameStartContext extends ParserRuleContext {
20435 public TerminalNode CURRENT() { return getToken(HiveStatementParser.CURRENT, 0); }
20436 public TerminalNode ROW() { return getToken(HiveStatementParser.ROW, 0); }
20437 public TerminalNode UNBOUNDED() { return getToken(HiveStatementParser.UNBOUNDED, 0); }
20438 public TerminalNode PRECEDING() { return getToken(HiveStatementParser.PRECEDING, 0); }
20439 public TerminalNode FOLLOWING() { return getToken(HiveStatementParser.FOLLOWING, 0); }
20440 public ExprContext expr() {
20441 return getRuleContext(ExprContext.class,0);
20442 }
20443 public FrameStartContext(ParserRuleContext parent, int invokingState) {
20444 super(parent, invokingState);
20445 }
20446 @Override public int getRuleIndex() { return RULE_frameStart; }
20447 @Override
20448 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20449 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFrameStart(this);
20450 else return visitor.visitChildren(this);
20451 }
20452 }
20453
20454 public final FrameStartContext frameStart() throws RecognitionException {
20455 FrameStartContext _localctx = new FrameStartContext(_ctx, getState());
20456 enterRule(_localctx, 356, RULE_frameStart);
20457 try {
20458 setState(2025);
20459 _errHandler.sync(this);
20460 switch ( getInterpreter().adaptivePredict(_input,229,_ctx) ) {
20461 case 1:
20462 enterOuterAlt(_localctx, 1);
20463 {
20464 setState(2013);
20465 match(CURRENT);
20466 setState(2014);
20467 match(ROW);
20468 }
20469 break;
20470 case 2:
20471 enterOuterAlt(_localctx, 2);
20472 {
20473 setState(2015);
20474 match(UNBOUNDED);
20475 setState(2016);
20476 match(PRECEDING);
20477 }
20478 break;
20479 case 3:
20480 enterOuterAlt(_localctx, 3);
20481 {
20482 setState(2017);
20483 match(UNBOUNDED);
20484 setState(2018);
20485 match(FOLLOWING);
20486 }
20487 break;
20488 case 4:
20489 enterOuterAlt(_localctx, 4);
20490 {
20491 setState(2019);
20492 expr(0);
20493 setState(2020);
20494 match(PRECEDING);
20495 }
20496 break;
20497 case 5:
20498 enterOuterAlt(_localctx, 5);
20499 {
20500 setState(2022);
20501 expr(0);
20502 setState(2023);
20503 match(FOLLOWING);
20504 }
20505 break;
20506 }
20507 }
20508 catch (RecognitionException re) {
20509 _localctx.exception = re;
20510 _errHandler.reportError(this, re);
20511 _errHandler.recover(this, re);
20512 }
20513 finally {
20514 exitRule();
20515 }
20516 return _localctx;
20517 }
20518
20519 public static class FrameEndContext extends ParserRuleContext {
20520 public FrameStartContext frameStart() {
20521 return getRuleContext(FrameStartContext.class,0);
20522 }
20523 public FrameEndContext(ParserRuleContext parent, int invokingState) {
20524 super(parent, invokingState);
20525 }
20526 @Override public int getRuleIndex() { return RULE_frameEnd; }
20527 @Override
20528 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20529 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFrameEnd(this);
20530 else return visitor.visitChildren(this);
20531 }
20532 }
20533
20534 public final FrameEndContext frameEnd() throws RecognitionException {
20535 FrameEndContext _localctx = new FrameEndContext(_ctx, getState());
20536 enterRule(_localctx, 358, RULE_frameEnd);
20537 try {
20538 enterOuterAlt(_localctx, 1);
20539 {
20540 setState(2027);
20541 frameStart();
20542 }
20543 }
20544 catch (RecognitionException re) {
20545 _localctx.exception = re;
20546 _errHandler.reportError(this, re);
20547 _errHandler.recover(this, re);
20548 }
20549 finally {
20550 exitRule();
20551 }
20552 return _localctx;
20553 }
20554
20555 public static class FrameBetweenContext extends ParserRuleContext {
20556 public TerminalNode BETWEEN() { return getToken(HiveStatementParser.BETWEEN, 0); }
20557 public FrameStartContext frameStart() {
20558 return getRuleContext(FrameStartContext.class,0);
20559 }
20560 public TerminalNode AND() { return getToken(HiveStatementParser.AND, 0); }
20561 public FrameEndContext frameEnd() {
20562 return getRuleContext(FrameEndContext.class,0);
20563 }
20564 public FrameBetweenContext(ParserRuleContext parent, int invokingState) {
20565 super(parent, invokingState);
20566 }
20567 @Override public int getRuleIndex() { return RULE_frameBetween; }
20568 @Override
20569 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20570 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFrameBetween(this);
20571 else return visitor.visitChildren(this);
20572 }
20573 }
20574
20575 public final FrameBetweenContext frameBetween() throws RecognitionException {
20576 FrameBetweenContext _localctx = new FrameBetweenContext(_ctx, getState());
20577 enterRule(_localctx, 360, RULE_frameBetween);
20578 try {
20579 enterOuterAlt(_localctx, 1);
20580 {
20581 setState(2029);
20582 match(BETWEEN);
20583 setState(2030);
20584 frameStart();
20585 setState(2031);
20586 match(AND);
20587 setState(2032);
20588 frameEnd();
20589 }
20590 }
20591 catch (RecognitionException re) {
20592 _localctx.exception = re;
20593 _errHandler.reportError(this, re);
20594 _errHandler.recover(this, re);
20595 }
20596 finally {
20597 exitRule();
20598 }
20599 return _localctx;
20600 }
20601
20602 public static class SpecialFunctionContext extends ParserRuleContext {
20603 public GroupConcatFunctionContext groupConcatFunction() {
20604 return getRuleContext(GroupConcatFunctionContext.class,0);
20605 }
20606 public WindowFunctionContext windowFunction() {
20607 return getRuleContext(WindowFunctionContext.class,0);
20608 }
20609 public CastFunctionContext castFunction() {
20610 return getRuleContext(CastFunctionContext.class,0);
20611 }
20612 public ConvertFunctionContext convertFunction() {
20613 return getRuleContext(ConvertFunctionContext.class,0);
20614 }
20615 public PositionFunctionContext positionFunction() {
20616 return getRuleContext(PositionFunctionContext.class,0);
20617 }
20618 public SubstringFunctionContext substringFunction() {
20619 return getRuleContext(SubstringFunctionContext.class,0);
20620 }
20621 public ExtractFunctionContext extractFunction() {
20622 return getRuleContext(ExtractFunctionContext.class,0);
20623 }
20624 public CharFunctionContext charFunction() {
20625 return getRuleContext(CharFunctionContext.class,0);
20626 }
20627 public TrimFunctionContext trimFunction() {
20628 return getRuleContext(TrimFunctionContext.class,0);
20629 }
20630 public WeightStringFunctionContext weightStringFunction() {
20631 return getRuleContext(WeightStringFunctionContext.class,0);
20632 }
20633 public ValuesFunctionContext valuesFunction() {
20634 return getRuleContext(ValuesFunctionContext.class,0);
20635 }
20636 public CurrentUserFunctionContext currentUserFunction() {
20637 return getRuleContext(CurrentUserFunctionContext.class,0);
20638 }
20639 public SpecialFunctionContext(ParserRuleContext parent, int invokingState) {
20640 super(parent, invokingState);
20641 }
20642 @Override public int getRuleIndex() { return RULE_specialFunction; }
20643 @Override
20644 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20645 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSpecialFunction(this);
20646 else return visitor.visitChildren(this);
20647 }
20648 }
20649
20650 public final SpecialFunctionContext specialFunction() throws RecognitionException {
20651 SpecialFunctionContext _localctx = new SpecialFunctionContext(_ctx, getState());
20652 enterRule(_localctx, 362, RULE_specialFunction);
20653 try {
20654 setState(2046);
20655 _errHandler.sync(this);
20656 switch (_input.LA(1)) {
20657 case GROUP_CONCAT:
20658 enterOuterAlt(_localctx, 1);
20659 {
20660 setState(2034);
20661 groupConcatFunction();
20662 }
20663 break;
20664 case CUME_DIST:
20665 case DENSE_RANK:
20666 case FIRST_VALUE:
20667 case LAG:
20668 case LAST_VALUE:
20669 case LEAD:
20670 case NTH_VALUE:
20671 case NTILE:
20672 case PERCENT_RANK:
20673 case RANK:
20674 case ROW_NUMBER:
20675 enterOuterAlt(_localctx, 2);
20676 {
20677 setState(2035);
20678 windowFunction();
20679 }
20680 break;
20681 case CAST:
20682 enterOuterAlt(_localctx, 3);
20683 {
20684 setState(2036);
20685 castFunction();
20686 }
20687 break;
20688 case CONVERT:
20689 enterOuterAlt(_localctx, 4);
20690 {
20691 setState(2037);
20692 convertFunction();
20693 }
20694 break;
20695 case POSITION:
20696 enterOuterAlt(_localctx, 5);
20697 {
20698 setState(2038);
20699 positionFunction();
20700 }
20701 break;
20702 case SUBSTRING:
20703 case SUBSTR:
20704 enterOuterAlt(_localctx, 6);
20705 {
20706 setState(2039);
20707 substringFunction();
20708 }
20709 break;
20710 case EXTRACT:
20711 enterOuterAlt(_localctx, 7);
20712 {
20713 setState(2040);
20714 extractFunction();
20715 }
20716 break;
20717 case CHAR:
20718 enterOuterAlt(_localctx, 8);
20719 {
20720 setState(2041);
20721 charFunction();
20722 }
20723 break;
20724 case TRIM:
20725 enterOuterAlt(_localctx, 9);
20726 {
20727 setState(2042);
20728 trimFunction();
20729 }
20730 break;
20731 case WEIGHT_STRING:
20732 enterOuterAlt(_localctx, 10);
20733 {
20734 setState(2043);
20735 weightStringFunction();
20736 }
20737 break;
20738 case VALUES:
20739 enterOuterAlt(_localctx, 11);
20740 {
20741 setState(2044);
20742 valuesFunction();
20743 }
20744 break;
20745 case CURRENT_USER:
20746 enterOuterAlt(_localctx, 12);
20747 {
20748 setState(2045);
20749 currentUserFunction();
20750 }
20751 break;
20752 default:
20753 throw new NoViableAltException(this);
20754 }
20755 }
20756 catch (RecognitionException re) {
20757 _localctx.exception = re;
20758 _errHandler.reportError(this, re);
20759 _errHandler.recover(this, re);
20760 }
20761 finally {
20762 exitRule();
20763 }
20764 return _localctx;
20765 }
20766
20767 public static class CurrentUserFunctionContext extends ParserRuleContext {
20768 public TerminalNode CURRENT_USER() { return getToken(HiveStatementParser.CURRENT_USER, 0); }
20769 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
20770 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
20771 public CurrentUserFunctionContext(ParserRuleContext parent, int invokingState) {
20772 super(parent, invokingState);
20773 }
20774 @Override public int getRuleIndex() { return RULE_currentUserFunction; }
20775 @Override
20776 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20777 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCurrentUserFunction(this);
20778 else return visitor.visitChildren(this);
20779 }
20780 }
20781
20782 public final CurrentUserFunctionContext currentUserFunction() throws RecognitionException {
20783 CurrentUserFunctionContext _localctx = new CurrentUserFunctionContext(_ctx, getState());
20784 enterRule(_localctx, 364, RULE_currentUserFunction);
20785 try {
20786 enterOuterAlt(_localctx, 1);
20787 {
20788 setState(2048);
20789 match(CURRENT_USER);
20790 setState(2051);
20791 _errHandler.sync(this);
20792 switch ( getInterpreter().adaptivePredict(_input,231,_ctx) ) {
20793 case 1:
20794 {
20795 setState(2049);
20796 match(LP_);
20797 setState(2050);
20798 match(RP_);
20799 }
20800 break;
20801 }
20802 }
20803 }
20804 catch (RecognitionException re) {
20805 _localctx.exception = re;
20806 _errHandler.reportError(this, re);
20807 _errHandler.recover(this, re);
20808 }
20809 finally {
20810 exitRule();
20811 }
20812 return _localctx;
20813 }
20814
20815 public static class GroupConcatFunctionContext extends ParserRuleContext {
20816 public TerminalNode GROUP_CONCAT() { return getToken(HiveStatementParser.GROUP_CONCAT, 0); }
20817 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
20818 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
20819 public DistinctContext distinct() {
20820 return getRuleContext(DistinctContext.class,0);
20821 }
20822 public List<ExprContext> expr() {
20823 return getRuleContexts(ExprContext.class);
20824 }
20825 public ExprContext expr(int i) {
20826 return getRuleContext(ExprContext.class,i);
20827 }
20828 public TerminalNode ASTERISK_() { return getToken(HiveStatementParser.ASTERISK_, 0); }
20829 public OrderByClauseContext orderByClause() {
20830 return getRuleContext(OrderByClauseContext.class,0);
20831 }
20832 public TerminalNode SEPARATOR() { return getToken(HiveStatementParser.SEPARATOR, 0); }
20833 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
20834 public TerminalNode COMMA_(int i) {
20835 return getToken(HiveStatementParser.COMMA_, i);
20836 }
20837 public GroupConcatFunctionContext(ParserRuleContext parent, int invokingState) {
20838 super(parent, invokingState);
20839 }
20840 @Override public int getRuleIndex() { return RULE_groupConcatFunction; }
20841 @Override
20842 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20843 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitGroupConcatFunction(this);
20844 else return visitor.visitChildren(this);
20845 }
20846 }
20847
20848 public final GroupConcatFunctionContext groupConcatFunction() throws RecognitionException {
20849 GroupConcatFunctionContext _localctx = new GroupConcatFunctionContext(_ctx, getState());
20850 enterRule(_localctx, 366, RULE_groupConcatFunction);
20851 int _la;
20852 try {
20853 enterOuterAlt(_localctx, 1);
20854 {
20855 setState(2053);
20856 match(GROUP_CONCAT);
20857 setState(2054);
20858 match(LP_);
20859 setState(2056);
20860 _errHandler.sync(this);
20861 _la = _input.LA(1);
20862 if (_la==DISTINCT) {
20863 {
20864 setState(2055);
20865 distinct();
20866 }
20867 }
20868
20869 setState(2067);
20870 _errHandler.sync(this);
20871 switch (_input.LA(1)) {
20872 case NOT_:
20873 case TILDE_:
20874 case PLUS_:
20875 case MINUS_:
20876 case LP_:
20877 case LBE_:
20878 case QUESTION_:
20879 case AT_:
20880 case MAX:
20881 case MIN:
20882 case SUM:
20883 case COUNT:
20884 case GROUP_CONCAT:
20885 case CAST:
20886 case POSITION:
20887 case SUBSTRING:
20888 case SUBSTR:
20889 case EXTRACT:
20890 case TRIM:
20891 case LAST_DAY:
20892 case TRADITIONAL:
20893 case TREE:
20894 case MYSQL_MAIN:
20895 case MYSQL_ADMIN:
20896 case INSTANT:
20897 case INPLACE:
20898 case COPY:
20899 case UL_BINARY:
20900 case AUTOCOMMIT:
20901 case INNODB:
20902 case REDO_LOG:
20903 case ACCOUNT:
20904 case ACTION:
20905 case ACTIVE:
20906 case ADMIN:
20907 case AFTER:
20908 case AGAINST:
20909 case AGGREGATE:
20910 case ALGORITHM:
20911 case ALWAYS:
20912 case ANY:
20913 case ARRAY:
20914 case ASCII:
20915 case AT:
20916 case ATTRIBUTE:
20917 case AUTOEXTEND_SIZE:
20918 case AUTO_INCREMENT:
20919 case AVG:
20920 case BIT_XOR:
20921 case AVG_ROW_LENGTH:
20922 case BACKUP:
20923 case BEGIN:
20924 case BINARY:
20925 case BINLOG:
20926 case BIT:
20927 case BLOCK:
20928 case BOOL:
20929 case BOOLEAN:
20930 case BTREE:
20931 case BUCKETS:
20932 case BYTE:
20933 case CACHE:
20934 case CASCADED:
20935 case CASE:
20936 case CATALOG_NAME:
20937 case CHAIN:
20938 case CHANGED:
20939 case CHANNEL:
20940 case CHAR:
20941 case CHARSET:
20942 case CHECKSUM:
20943 case CIPHER:
20944 case CLASS_ORIGIN:
20945 case CLIENT:
20946 case CLONE:
20947 case CLOSE:
20948 case COALESCE:
20949 case CODE:
20950 case COLLATION:
20951 case COLUMNS:
20952 case COLUMN_FORMAT:
20953 case COLUMN_NAME:
20954 case COMMENT:
20955 case COMMIT:
20956 case COMMITTED:
20957 case COMPACT:
20958 case COMPLETION:
20959 case COMPONENT:
20960 case COMPRESSED:
20961 case COMPRESSION:
20962 case CONCURRENT:
20963 case CONNECTION:
20964 case CONSISTENT:
20965 case CONSTRAINT_CATALOG:
20966 case CONSTRAINT_NAME:
20967 case CONSTRAINT_SCHEMA:
20968 case CONTAINS:
20969 case CONTEXT:
20970 case CONVERT:
20971 case CPU:
20972 case CREATE:
20973 case CUME_DIST:
20974 case CURRENT:
20975 case CURRENT_DATE:
20976 case CURRENT_TIME:
20977 case CURRENT_TIMESTAMP:
20978 case CURRENT_USER:
20979 case CURSOR_NAME:
20980 case DATA:
20981 case DATABASE:
20982 case DATAFILE:
20983 case DATE:
20984 case DATETIME:
20985 case DAY:
20986 case DAY_MINUTE:
20987 case DEALLOCATE:
20988 case DEFAULT_AUTH:
20989 case DEFINER:
20990 case DEFINITION:
20991 case DELAY_KEY_WRITE:
20992 case DENSE_RANK:
20993 case DESCRIPTION:
20994 case DIAGNOSTICS:
20995 case DIRECTORY:
20996 case DISABLE:
20997 case DISCARD:
20998 case DISK:
20999 case DO:
21000 case DUMPFILE:
21001 case DUPLICATE:
21002 case DYNAMIC:
21003 case ENABLE:
21004 case ENCRYPTION:
21005 case END:
21006 case ENDS:
21007 case ENFORCED:
21008 case ENGINE:
21009 case ENGINES:
21010 case ENGINE_ATTRIBUTE:
21011 case ENUM:
21012 case ERROR:
21013 case ERRORS:
21014 case ESCAPE:
21015 case EVENT:
21016 case EVENTS:
21017 case EVERY:
21018 case EXCHANGE:
21019 case EXCLUDE:
21020 case EXECUTE:
21021 case EXISTS:
21022 case EXPANSION:
21023 case EXPIRE:
21024 case EXPORT:
21025 case EXTENDED:
21026 case EXTENT_SIZE:
21027 case FAILED_LOGIN_ATTEMPTS:
21028 case FALSE:
21029 case FAST:
21030 case FAULTS:
21031 case FILE:
21032 case FILE_BLOCK_SIZE:
21033 case FILTER:
21034 case FIRST:
21035 case FIRST_VALUE:
21036 case FIXED:
21037 case FLUSH:
21038 case FOLLOWING:
21039 case FOLLOWS:
21040 case FORMAT:
21041 case FOUND:
21042 case FULL:
21043 case GENERAL:
21044 case GEOMETRY:
21045 case GEOMETRYCOLLECTION:
21046 case GET_FORMAT:
21047 case GET_MASTER_PUBLIC_KEY:
21048 case GLOBAL:
21049 case GRANTS:
21050 case GROUP_REPLICATION:
21051 case HANDLER:
21052 case HASH:
21053 case HELP:
21054 case HISTOGRAM:
21055 case HISTORY:
21056 case HOST:
21057 case HOSTS:
21058 case HOUR:
21059 case IDENTIFIED:
21060 case IF:
21061 case IGNORE_SERVER_IDS:
21062 case IMPORT:
21063 case INACTIVE:
21064 case INDEXES:
21065 case INITIAL_SIZE:
21066 case INSERT:
21067 case INSERT_METHOD:
21068 case INSTALL:
21069 case INSTANCE:
21070 case INTERVAL:
21071 case INVISIBLE:
21072 case INVOKER:
21073 case IO:
21074 case IPC:
21075 case ISOLATION:
21076 case ISSUER:
21077 case JSON:
21078 case JSON_TABLE:
21079 case JSON_VALUE:
21080 case KEY:
21081 case KEY_BLOCK_SIZE:
21082 case LAG:
21083 case LANGUAGE:
21084 case LAST:
21085 case LAST_VALUE:
21086 case LEAD:
21087 case LEAVES:
21088 case LEFT:
21089 case LESS:
21090 case LEVEL:
21091 case LINESTRING:
21092 case LIST:
21093 case LOCAL:
21094 case LOCALTIME:
21095 case LOCALTIMESTAMP:
21096 case LOCKED:
21097 case LOCKS:
21098 case LOGFILE:
21099 case LOGS:
21100 case MASTER:
21101 case MASTER_AUTO_POSITION:
21102 case MASTER_COMPRESSION_ALGORITHM:
21103 case MASTER_CONNECT_RETRY:
21104 case MASTER_DELAY:
21105 case MASTER_HEARTBEAT_PERIOD:
21106 case MASTER_HOST:
21107 case MASTER_LOG_FILE:
21108 case MASTER_LOG_POS:
21109 case MASTER_PASSWORD:
21110 case MASTER_PORT:
21111 case MASTER_PUBLIC_KEY_PATH:
21112 case MASTER_RETRY_COUNT:
21113 case MASTER_SERVER_ID:
21114 case MASTER_SSL:
21115 case MASTER_SSL_CA:
21116 case MASTER_SSL_CAPATH:
21117 case MASTER_SSL_CERT:
21118 case MASTER_SSL_CIPHER:
21119 case MASTER_SSL_CRL:
21120 case MASTER_SSL_CRLPATH:
21121 case MASTER_SSL_KEY:
21122 case MASTER_TLS_CIPHERSUITES:
21123 case MASTER_TLS_VERSION:
21124 case MASTER_USER:
21125 case MASTER_ZSTD_COMPRESSION_LEVEL:
21126 case MATCH:
21127 case MAXVALUE:
21128 case MAX_CONNECTIONS_PER_HOUR:
21129 case MAX_QUERIES_PER_HOUR:
21130 case MAX_ROWS:
21131 case MAX_SIZE:
21132 case MAX_UPDATES_PER_HOUR:
21133 case MAX_USER_CONNECTIONS:
21134 case MEDIUM:
21135 case MEMBER:
21136 case MEMORY:
21137 case MERGE:
21138 case MESSAGE_TEXT:
21139 case MICROSECOND:
21140 case MIGRATE:
21141 case MINUTE:
21142 case MIN_ROWS:
21143 case MOD:
21144 case MODE:
21145 case MODIFY:
21146 case MONTH:
21147 case MULTILINESTRING:
21148 case MULTIPOINT:
21149 case MULTIPOLYGON:
21150 case MUTEX:
21151 case MYSQL_ERRNO:
21152 case NAME:
21153 case NAMES:
21154 case NATIONAL:
21155 case NCHAR:
21156 case NDBCLUSTER:
21157 case NESTED:
21158 case NETWORK_NAMESPACE:
21159 case NEVER:
21160 case NEW:
21161 case NEXT:
21162 case NO:
21163 case NODEGROUP:
21164 case NONE:
21165 case NOT:
21166 case NOWAIT:
21167 case NO_WAIT:
21168 case NTH_VALUE:
21169 case NTILE:
21170 case NULL:
21171 case NULLS:
21172 case NUMBER:
21173 case NVARCHAR:
21174 case OFF:
21175 case OFFSET:
21176 case OJ:
21177 case OLD:
21178 case ONE:
21179 case ONLY:
21180 case OPEN:
21181 case OPTIONAL:
21182 case OPTIONS:
21183 case ORDINALITY:
21184 case ORGANIZATION:
21185 case OTHERS:
21186 case OWNER:
21187 case PACK_KEYS:
21188 case PAGE:
21189 case PARSER:
21190 case PARTIAL:
21191 case PARTITIONING:
21192 case PARTITIONS:
21193 case PASSWORD:
21194 case PASSWORD_LOCK_TIME:
21195 case PATH:
21196 case PERCENT_RANK:
21197 case PERSIST:
21198 case PERSIST_ONLY:
21199 case PHASE:
21200 case PLUGIN:
21201 case PLUGINS:
21202 case PLUGIN_DIR:
21203 case POINT:
21204 case POLYGON:
21205 case PORT:
21206 case PRECEDES:
21207 case PRECEDING:
21208 case PREPARE:
21209 case PRESERVE:
21210 case PREV:
21211 case PRIMARY:
21212 case PRIVILEGES:
21213 case PRIVILEGE_CHECKS_USER:
21214 case PROCESS:
21215 case PROCESSLIST:
21216 case PROFILE:
21217 case PROFILES:
21218 case PROXY:
21219 case QUARTER:
21220 case QUERY:
21221 case QUICK:
21222 case RANDOM:
21223 case RANK:
21224 case READ_ONLY:
21225 case REBUILD:
21226 case RECOVER:
21227 case REDO_BUFFER_SIZE:
21228 case REDUNDANT:
21229 case REFERENCE:
21230 case RELAY:
21231 case RELAYLOG:
21232 case RELAY_LOG_FILE:
21233 case RELAY_LOG_POS:
21234 case RELAY_THREAD:
21235 case RELOAD:
21236 case REMOVE:
21237 case REORGANIZE:
21238 case REPAIR:
21239 case REPEAT:
21240 case REPEATABLE:
21241 case REPLACE:
21242 case REPLICATE_DO_DB:
21243 case REPLICATE_DO_TABLE:
21244 case REPLICATE_IGNORE_DB:
21245 case REPLICATE_IGNORE_TABLE:
21246 case REPLICATE_REWRITE_DB:
21247 case REPLICATE_WILD_DO_TABLE:
21248 case REPLICATE_WILD_IGNORE_TABLE:
21249 case REPLICATION:
21250 case REQUIRE_ROW_FORMAT:
21251 case RESET:
21252 case RESOURCE:
21253 case RESPECT:
21254 case RESTART:
21255 case RESTORE:
21256 case RESUME:
21257 case RETAIN:
21258 case RETURNED_SQLSTATE:
21259 case RETURNING:
21260 case RETURNS:
21261 case REUSE:
21262 case REVERSE:
21263 case RIGHT:
21264 case ROLE:
21265 case ROLLBACK:
21266 case ROLLUP:
21267 case ROTATE:
21268 case ROUTINE:
21269 case ROW:
21270 case ROW_COUNT:
21271 case ROW_FORMAT:
21272 case ROW_NUMBER:
21273 case RTREE:
21274 case SAVEPOINT:
21275 case SCHEDULE:
21276 case SCHEMA:
21277 case SCHEMA_NAME:
21278 case SECOND:
21279 case SECONDARY:
21280 case SECONDARY_ENGINE:
21281 case SECONDARY_ENGINE_ATTRIBUTE:
21282 case SECONDARY_LOAD:
21283 case SECONDARY_UNLOAD:
21284 case SECURITY:
21285 case SERIAL:
21286 case SERIALIZABLE:
21287 case SERVER:
21288 case SESSION:
21289 case SHARE:
21290 case SHUTDOWN:
21291 case SIGNED:
21292 case SIMPLE:
21293 case SLAVE:
21294 case SLOW:
21295 case SNAPSHOT:
21296 case SOCKET:
21297 case SONAME:
21298 case SOUNDS:
21299 case SOURCE:
21300 case SQL_AFTER_GTIDS:
21301 case SQL_AFTER_MTS_GAPS:
21302 case SQL_BEFORE_GTIDS:
21303 case SQL_BUFFER_RESULT:
21304 case SQL_NO_CACHE:
21305 case SQL_THREAD:
21306 case SRID:
21307 case STACKED:
21308 case START:
21309 case STARTS:
21310 case STATS_AUTO_RECALC:
21311 case STATS_PERSISTENT:
21312 case STATS_SAMPLE_PAGES:
21313 case STATUS:
21314 case STOP:
21315 case STORAGE:
21316 case STREAM:
21317 case STRING:
21318 case SUBCLASS_ORIGIN:
21319 case SUBJECT:
21320 case SUBPARTITION:
21321 case SUBPARTITIONS:
21322 case SUPER:
21323 case SUSPEND:
21324 case SWAPS:
21325 case SWITCHES:
21326 case SYSTEM:
21327 case TABLE:
21328 case TABLES:
21329 case TABLESPACE:
21330 case TABLE_CHECKSUM:
21331 case TABLE_NAME:
21332 case TEMPORARY:
21333 case TEMPTABLE:
21334 case TEXT:
21335 case THAN:
21336 case THREAD_PRIORITY:
21337 case TIES:
21338 case TIME:
21339 case TIMESTAMP:
21340 case TIMESTAMP_ADD:
21341 case TIMESTAMP_DIFF:
21342 case TLS:
21343 case TRANSACTION:
21344 case TRIGGERS:
21345 case TRUE:
21346 case TRUNCATE:
21347 case TYPE:
21348 case TYPES:
21349 case UNBOUNDED:
21350 case UNCOMMITTED:
21351 case UNDEFINED:
21352 case UNDOFILE:
21353 case UNDO_BUFFER_SIZE:
21354 case UNICODE:
21355 case UNINSTALL:
21356 case UNKNOWN:
21357 case UNTIL:
21358 case UPGRADE:
21359 case USER:
21360 case USER_RESOURCES:
21361 case USE_FRM:
21362 case UTC_DATE:
21363 case UTC_TIME:
21364 case UTC_TIMESTAMP:
21365 case VALIDATION:
21366 case VALUE:
21367 case VALUES:
21368 case VARIABLES:
21369 case VCPU:
21370 case VIEW:
21371 case VISIBLE:
21372 case WAIT:
21373 case WARNINGS:
21374 case WEEK:
21375 case WEIGHT_STRING:
21376 case WITHOUT:
21377 case WORK:
21378 case WRAPPER:
21379 case X509:
21380 case XA:
21381 case XID:
21382 case XML:
21383 case YEAR:
21384 case YEAR_MONTH:
21385 case JSON_ARRAY:
21386 case JSON_ARRAY_APPEND:
21387 case JSON_ARRAY_INSERT:
21388 case JSON_CONTAINS:
21389 case JSON_CONTAINS_PATH:
21390 case JSON_DEPTH:
21391 case JSON_EXTRACT:
21392 case JSON_INSERT:
21393 case JSON_KEYS:
21394 case JSON_LENGTH:
21395 case JSON_MERGE:
21396 case JSON_MERGE_PATCH:
21397 case JSON_MERGE_PRESERVE:
21398 case JSON_OBJECT:
21399 case JSON_OVERLAPS:
21400 case JSON_PRETTY:
21401 case JSON_QUOTE:
21402 case JSON_REMOVE:
21403 case JSON_REPLACE:
21404 case JSON_SCHEMA_VALID:
21405 case JSON_SCHEMA_VALIDATION_REPORT:
21406 case JSON_SEARCH:
21407 case JSON_SET:
21408 case JSON_STORAGE_FREE:
21409 case JSON_STORAGE_SIZE:
21410 case JSON_TYPE:
21411 case JSON_UNQUOTE:
21412 case JSON_VALID:
21413 case SINGLE_QUOTED_TEXT:
21414 case DOUBLE_QUOTED_TEXT:
21415 case BQUOTA_STRING:
21416 case NCHAR_TEXT:
21417 case UNDERSCORE_CHARSET:
21418 case NUMBER_:
21419 case HEX_DIGIT_:
21420 case BIT_NUM_:
21421 case IDENTIFIER_:
21422 case IP_ADDRESS:
21423 {
21424 setState(2058);
21425 expr(0);
21426 setState(2063);
21427 _errHandler.sync(this);
21428 _la = _input.LA(1);
21429 while (_la==COMMA_) {
21430 {
21431 {
21432 setState(2059);
21433 match(COMMA_);
21434 setState(2060);
21435 expr(0);
21436 }
21437 }
21438 setState(2065);
21439 _errHandler.sync(this);
21440 _la = _input.LA(1);
21441 }
21442 }
21443 break;
21444 case ASTERISK_:
21445 {
21446 setState(2066);
21447 match(ASTERISK_);
21448 }
21449 break;
21450 case RP_:
21451 case ORDER:
21452 case SEPARATOR:
21453 break;
21454 default:
21455 break;
21456 }
21457 setState(2070);
21458 _errHandler.sync(this);
21459 _la = _input.LA(1);
21460 if (_la==ORDER) {
21461 {
21462 setState(2069);
21463 orderByClause();
21464 }
21465 }
21466
21467 setState(2074);
21468 _errHandler.sync(this);
21469 _la = _input.LA(1);
21470 if (_la==SEPARATOR) {
21471 {
21472 setState(2072);
21473 match(SEPARATOR);
21474 setState(2073);
21475 expr(0);
21476 }
21477 }
21478
21479 setState(2076);
21480 match(RP_);
21481 }
21482 }
21483 catch (RecognitionException re) {
21484 _localctx.exception = re;
21485 _errHandler.reportError(this, re);
21486 _errHandler.recover(this, re);
21487 }
21488 finally {
21489 exitRule();
21490 }
21491 return _localctx;
21492 }
21493
21494 public static class WindowFunctionContext extends ParserRuleContext {
21495 public Token funcName;
21496 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
21497 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
21498 public WindowingClauseContext windowingClause() {
21499 return getRuleContext(WindowingClauseContext.class,0);
21500 }
21501 public TerminalNode ROW_NUMBER() { return getToken(HiveStatementParser.ROW_NUMBER, 0); }
21502 public TerminalNode RANK() { return getToken(HiveStatementParser.RANK, 0); }
21503 public TerminalNode DENSE_RANK() { return getToken(HiveStatementParser.DENSE_RANK, 0); }
21504 public TerminalNode CUME_DIST() { return getToken(HiveStatementParser.CUME_DIST, 0); }
21505 public TerminalNode PERCENT_RANK() { return getToken(HiveStatementParser.PERCENT_RANK, 0); }
21506 public TerminalNode NTILE() { return getToken(HiveStatementParser.NTILE, 0); }
21507 public SimpleExprContext simpleExpr() {
21508 return getRuleContext(SimpleExprContext.class,0);
21509 }
21510 public ExprContext expr() {
21511 return getRuleContext(ExprContext.class,0);
21512 }
21513 public TerminalNode LEAD() { return getToken(HiveStatementParser.LEAD, 0); }
21514 public TerminalNode LAG() { return getToken(HiveStatementParser.LAG, 0); }
21515 public LeadLagInfoContext leadLagInfo() {
21516 return getRuleContext(LeadLagInfoContext.class,0);
21517 }
21518 public NullTreatmentContext nullTreatment() {
21519 return getRuleContext(NullTreatmentContext.class,0);
21520 }
21521 public TerminalNode FIRST_VALUE() { return getToken(HiveStatementParser.FIRST_VALUE, 0); }
21522 public TerminalNode LAST_VALUE() { return getToken(HiveStatementParser.LAST_VALUE, 0); }
21523 public TerminalNode COMMA_() { return getToken(HiveStatementParser.COMMA_, 0); }
21524 public TerminalNode NTH_VALUE() { return getToken(HiveStatementParser.NTH_VALUE, 0); }
21525 public TerminalNode FROM() { return getToken(HiveStatementParser.FROM, 0); }
21526 public TerminalNode FIRST() { return getToken(HiveStatementParser.FIRST, 0); }
21527 public TerminalNode LAST() { return getToken(HiveStatementParser.LAST, 0); }
21528 public WindowFunctionContext(ParserRuleContext parent, int invokingState) {
21529 super(parent, invokingState);
21530 }
21531 @Override public int getRuleIndex() { return RULE_windowFunction; }
21532 @Override
21533 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21534 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitWindowFunction(this);
21535 else return visitor.visitChildren(this);
21536 }
21537 }
21538
21539 public final WindowFunctionContext windowFunction() throws RecognitionException {
21540 WindowFunctionContext _localctx = new WindowFunctionContext(_ctx, getState());
21541 enterRule(_localctx, 368, RULE_windowFunction);
21542 int _la;
21543 try {
21544 setState(2122);
21545 _errHandler.sync(this);
21546 switch (_input.LA(1)) {
21547 case CUME_DIST:
21548 case DENSE_RANK:
21549 case PERCENT_RANK:
21550 case RANK:
21551 case ROW_NUMBER:
21552 enterOuterAlt(_localctx, 1);
21553 {
21554 setState(2078);
21555 ((WindowFunctionContext)_localctx).funcName = _input.LT(1);
21556 _la = _input.LA(1);
21557 if ( !(_la==CUME_DIST || _la==DENSE_RANK || _la==PERCENT_RANK || _la==RANK || _la==ROW_NUMBER) ) {
21558 ((WindowFunctionContext)_localctx).funcName = (Token)_errHandler.recoverInline(this);
21559 }
21560 else {
21561 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21562 _errHandler.reportMatch(this);
21563 consume();
21564 }
21565 setState(2079);
21566 match(LP_);
21567 setState(2080);
21568 match(RP_);
21569 setState(2081);
21570 windowingClause();
21571 }
21572 break;
21573 case NTILE:
21574 enterOuterAlt(_localctx, 2);
21575 {
21576 setState(2082);
21577 ((WindowFunctionContext)_localctx).funcName = match(NTILE);
21578 {
21579 setState(2083);
21580 simpleExpr(0);
21581 }
21582 setState(2084);
21583 windowingClause();
21584 }
21585 break;
21586 case LAG:
21587 case LEAD:
21588 enterOuterAlt(_localctx, 3);
21589 {
21590 setState(2086);
21591 ((WindowFunctionContext)_localctx).funcName = _input.LT(1);
21592 _la = _input.LA(1);
21593 if ( !(_la==LAG || _la==LEAD) ) {
21594 ((WindowFunctionContext)_localctx).funcName = (Token)_errHandler.recoverInline(this);
21595 }
21596 else {
21597 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21598 _errHandler.reportMatch(this);
21599 consume();
21600 }
21601 setState(2087);
21602 match(LP_);
21603 setState(2088);
21604 expr(0);
21605 setState(2090);
21606 _errHandler.sync(this);
21607 _la = _input.LA(1);
21608 if (_la==COMMA_) {
21609 {
21610 setState(2089);
21611 leadLagInfo();
21612 }
21613 }
21614
21615 setState(2092);
21616 match(RP_);
21617 setState(2094);
21618 _errHandler.sync(this);
21619 _la = _input.LA(1);
21620 if (_la==IGNORE || _la==RESPECT) {
21621 {
21622 setState(2093);
21623 nullTreatment();
21624 }
21625 }
21626
21627 setState(2096);
21628 windowingClause();
21629 }
21630 break;
21631 case FIRST_VALUE:
21632 case LAST_VALUE:
21633 enterOuterAlt(_localctx, 4);
21634 {
21635 setState(2098);
21636 ((WindowFunctionContext)_localctx).funcName = _input.LT(1);
21637 _la = _input.LA(1);
21638 if ( !(_la==FIRST_VALUE || _la==LAST_VALUE) ) {
21639 ((WindowFunctionContext)_localctx).funcName = (Token)_errHandler.recoverInline(this);
21640 }
21641 else {
21642 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21643 _errHandler.reportMatch(this);
21644 consume();
21645 }
21646 setState(2099);
21647 match(LP_);
21648 setState(2100);
21649 expr(0);
21650 setState(2101);
21651 match(RP_);
21652 setState(2103);
21653 _errHandler.sync(this);
21654 _la = _input.LA(1);
21655 if (_la==IGNORE || _la==RESPECT) {
21656 {
21657 setState(2102);
21658 nullTreatment();
21659 }
21660 }
21661
21662 setState(2105);
21663 windowingClause();
21664 }
21665 break;
21666 case NTH_VALUE:
21667 enterOuterAlt(_localctx, 5);
21668 {
21669 setState(2107);
21670 ((WindowFunctionContext)_localctx).funcName = match(NTH_VALUE);
21671 setState(2108);
21672 match(LP_);
21673 setState(2109);
21674 expr(0);
21675 setState(2110);
21676 match(COMMA_);
21677 setState(2111);
21678 simpleExpr(0);
21679 setState(2112);
21680 match(RP_);
21681 setState(2115);
21682 _errHandler.sync(this);
21683 _la = _input.LA(1);
21684 if (_la==FROM) {
21685 {
21686 setState(2113);
21687 match(FROM);
21688 setState(2114);
21689 _la = _input.LA(1);
21690 if ( !(_la==FIRST || _la==LAST) ) {
21691 _errHandler.recoverInline(this);
21692 }
21693 else {
21694 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21695 _errHandler.reportMatch(this);
21696 consume();
21697 }
21698 }
21699 }
21700
21701 setState(2118);
21702 _errHandler.sync(this);
21703 _la = _input.LA(1);
21704 if (_la==IGNORE || _la==RESPECT) {
21705 {
21706 setState(2117);
21707 nullTreatment();
21708 }
21709 }
21710
21711 setState(2120);
21712 windowingClause();
21713 }
21714 break;
21715 default:
21716 throw new NoViableAltException(this);
21717 }
21718 }
21719 catch (RecognitionException re) {
21720 _localctx.exception = re;
21721 _errHandler.reportError(this, re);
21722 _errHandler.recover(this, re);
21723 }
21724 finally {
21725 exitRule();
21726 }
21727 return _localctx;
21728 }
21729
21730 public static class WindowingClauseContext extends ParserRuleContext {
21731 public IdentifierContext windowName;
21732 public TerminalNode OVER() { return getToken(HiveStatementParser.OVER, 0); }
21733 public WindowSpecificationContext windowSpecification() {
21734 return getRuleContext(WindowSpecificationContext.class,0);
21735 }
21736 public IdentifierContext identifier() {
21737 return getRuleContext(IdentifierContext.class,0);
21738 }
21739 public WindowingClauseContext(ParserRuleContext parent, int invokingState) {
21740 super(parent, invokingState);
21741 }
21742 @Override public int getRuleIndex() { return RULE_windowingClause; }
21743 @Override
21744 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21745 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitWindowingClause(this);
21746 else return visitor.visitChildren(this);
21747 }
21748 }
21749
21750 public final WindowingClauseContext windowingClause() throws RecognitionException {
21751 WindowingClauseContext _localctx = new WindowingClauseContext(_ctx, getState());
21752 enterRule(_localctx, 370, RULE_windowingClause);
21753 try {
21754 enterOuterAlt(_localctx, 1);
21755 {
21756 setState(2124);
21757 match(OVER);
21758 setState(2127);
21759 _errHandler.sync(this);
21760 switch (_input.LA(1)) {
21761 case MAX:
21762 case MIN:
21763 case SUM:
21764 case COUNT:
21765 case GROUP_CONCAT:
21766 case CAST:
21767 case POSITION:
21768 case SUBSTRING:
21769 case SUBSTR:
21770 case EXTRACT:
21771 case TRIM:
21772 case LAST_DAY:
21773 case TRADITIONAL:
21774 case TREE:
21775 case MYSQL_MAIN:
21776 case MYSQL_ADMIN:
21777 case INSTANT:
21778 case INPLACE:
21779 case COPY:
21780 case UL_BINARY:
21781 case AUTOCOMMIT:
21782 case INNODB:
21783 case REDO_LOG:
21784 case ACCOUNT:
21785 case ACTION:
21786 case ACTIVE:
21787 case ADMIN:
21788 case AFTER:
21789 case AGAINST:
21790 case AGGREGATE:
21791 case ALGORITHM:
21792 case ALWAYS:
21793 case ANY:
21794 case ARRAY:
21795 case ASCII:
21796 case AT:
21797 case ATTRIBUTE:
21798 case AUTOEXTEND_SIZE:
21799 case AUTO_INCREMENT:
21800 case AVG:
21801 case BIT_XOR:
21802 case AVG_ROW_LENGTH:
21803 case BACKUP:
21804 case BEGIN:
21805 case BINLOG:
21806 case BIT:
21807 case BLOCK:
21808 case BOOL:
21809 case BOOLEAN:
21810 case BTREE:
21811 case BUCKETS:
21812 case BYTE:
21813 case CACHE:
21814 case CASCADED:
21815 case CATALOG_NAME:
21816 case CHAIN:
21817 case CHANGED:
21818 case CHANNEL:
21819 case CHARSET:
21820 case CHECKSUM:
21821 case CIPHER:
21822 case CLASS_ORIGIN:
21823 case CLIENT:
21824 case CLONE:
21825 case CLOSE:
21826 case COALESCE:
21827 case CODE:
21828 case COLLATION:
21829 case COLUMNS:
21830 case COLUMN_FORMAT:
21831 case COLUMN_NAME:
21832 case COMMENT:
21833 case COMMIT:
21834 case COMMITTED:
21835 case COMPACT:
21836 case COMPLETION:
21837 case COMPONENT:
21838 case COMPRESSED:
21839 case COMPRESSION:
21840 case CONCURRENT:
21841 case CONNECTION:
21842 case CONSISTENT:
21843 case CONSTRAINT_CATALOG:
21844 case CONSTRAINT_NAME:
21845 case CONSTRAINT_SCHEMA:
21846 case CONTAINS:
21847 case CONTEXT:
21848 case CPU:
21849 case CREATE:
21850 case CURRENT:
21851 case CURSOR_NAME:
21852 case DATA:
21853 case DATAFILE:
21854 case DATE:
21855 case DATETIME:
21856 case DAY:
21857 case DAY_MINUTE:
21858 case DEALLOCATE:
21859 case DEFAULT_AUTH:
21860 case DEFINER:
21861 case DEFINITION:
21862 case DELAY_KEY_WRITE:
21863 case DESCRIPTION:
21864 case DIAGNOSTICS:
21865 case DIRECTORY:
21866 case DISABLE:
21867 case DISCARD:
21868 case DISK:
21869 case DO:
21870 case DUMPFILE:
21871 case DUPLICATE:
21872 case DYNAMIC:
21873 case ENABLE:
21874 case ENCRYPTION:
21875 case END:
21876 case ENDS:
21877 case ENFORCED:
21878 case ENGINE:
21879 case ENGINES:
21880 case ENGINE_ATTRIBUTE:
21881 case ENUM:
21882 case ERROR:
21883 case ERRORS:
21884 case ESCAPE:
21885 case EVENT:
21886 case EVENTS:
21887 case EVERY:
21888 case EXCHANGE:
21889 case EXCLUDE:
21890 case EXECUTE:
21891 case EXPANSION:
21892 case EXPIRE:
21893 case EXPORT:
21894 case EXTENDED:
21895 case EXTENT_SIZE:
21896 case FAILED_LOGIN_ATTEMPTS:
21897 case FAST:
21898 case FAULTS:
21899 case FILE:
21900 case FILE_BLOCK_SIZE:
21901 case FILTER:
21902 case FIRST:
21903 case FIXED:
21904 case FLUSH:
21905 case FOLLOWING:
21906 case FOLLOWS:
21907 case FORMAT:
21908 case FOUND:
21909 case FULL:
21910 case GENERAL:
21911 case GEOMETRY:
21912 case GEOMETRYCOLLECTION:
21913 case GET_FORMAT:
21914 case GET_MASTER_PUBLIC_KEY:
21915 case GLOBAL:
21916 case GRANTS:
21917 case GROUP_REPLICATION:
21918 case HANDLER:
21919 case HASH:
21920 case HELP:
21921 case HISTOGRAM:
21922 case HISTORY:
21923 case HOST:
21924 case HOSTS:
21925 case HOUR:
21926 case IDENTIFIED:
21927 case IGNORE_SERVER_IDS:
21928 case IMPORT:
21929 case INACTIVE:
21930 case INDEXES:
21931 case INITIAL_SIZE:
21932 case INSERT_METHOD:
21933 case INSTALL:
21934 case INSTANCE:
21935 case INVISIBLE:
21936 case INVOKER:
21937 case IO:
21938 case IPC:
21939 case ISOLATION:
21940 case ISSUER:
21941 case JSON:
21942 case JSON_VALUE:
21943 case KEY:
21944 case KEY_BLOCK_SIZE:
21945 case LANGUAGE:
21946 case LAST:
21947 case LAST_VALUE:
21948 case LEAVES:
21949 case LESS:
21950 case LEVEL:
21951 case LINESTRING:
21952 case LIST:
21953 case LOCAL:
21954 case LOCKED:
21955 case LOCKS:
21956 case LOGFILE:
21957 case LOGS:
21958 case MASTER:
21959 case MASTER_AUTO_POSITION:
21960 case MASTER_COMPRESSION_ALGORITHM:
21961 case MASTER_CONNECT_RETRY:
21962 case MASTER_DELAY:
21963 case MASTER_HEARTBEAT_PERIOD:
21964 case MASTER_HOST:
21965 case MASTER_LOG_FILE:
21966 case MASTER_LOG_POS:
21967 case MASTER_PASSWORD:
21968 case MASTER_PORT:
21969 case MASTER_PUBLIC_KEY_PATH:
21970 case MASTER_RETRY_COUNT:
21971 case MASTER_SERVER_ID:
21972 case MASTER_SSL:
21973 case MASTER_SSL_CA:
21974 case MASTER_SSL_CAPATH:
21975 case MASTER_SSL_CERT:
21976 case MASTER_SSL_CIPHER:
21977 case MASTER_SSL_CRL:
21978 case MASTER_SSL_CRLPATH:
21979 case MASTER_SSL_KEY:
21980 case MASTER_TLS_CIPHERSUITES:
21981 case MASTER_TLS_VERSION:
21982 case MASTER_USER:
21983 case MASTER_ZSTD_COMPRESSION_LEVEL:
21984 case MAXVALUE:
21985 case MAX_CONNECTIONS_PER_HOUR:
21986 case MAX_QUERIES_PER_HOUR:
21987 case MAX_ROWS:
21988 case MAX_SIZE:
21989 case MAX_UPDATES_PER_HOUR:
21990 case MAX_USER_CONNECTIONS:
21991 case MEDIUM:
21992 case MEMBER:
21993 case MEMORY:
21994 case MERGE:
21995 case MESSAGE_TEXT:
21996 case MICROSECOND:
21997 case MIGRATE:
21998 case MINUTE:
21999 case MIN_ROWS:
22000 case MODE:
22001 case MODIFY:
22002 case MONTH:
22003 case MULTILINESTRING:
22004 case MULTIPOINT:
22005 case MULTIPOLYGON:
22006 case MUTEX:
22007 case MYSQL_ERRNO:
22008 case NAME:
22009 case NAMES:
22010 case NATIONAL:
22011 case NCHAR:
22012 case NDBCLUSTER:
22013 case NESTED:
22014 case NETWORK_NAMESPACE:
22015 case NEVER:
22016 case NEW:
22017 case NEXT:
22018 case NO:
22019 case NODEGROUP:
22020 case NONE:
22021 case NOWAIT:
22022 case NO_WAIT:
22023 case NULLS:
22024 case NUMBER:
22025 case NVARCHAR:
22026 case OFF:
22027 case OFFSET:
22028 case OJ:
22029 case OLD:
22030 case ONE:
22031 case ONLY:
22032 case OPEN:
22033 case OPTIONAL:
22034 case OPTIONS:
22035 case ORDINALITY:
22036 case ORGANIZATION:
22037 case OTHERS:
22038 case OWNER:
22039 case PACK_KEYS:
22040 case PAGE:
22041 case PARSER:
22042 case PARTIAL:
22043 case PARTITIONING:
22044 case PARTITIONS:
22045 case PASSWORD:
22046 case PASSWORD_LOCK_TIME:
22047 case PATH:
22048 case PERSIST:
22049 case PERSIST_ONLY:
22050 case PHASE:
22051 case PLUGIN:
22052 case PLUGINS:
22053 case PLUGIN_DIR:
22054 case POINT:
22055 case POLYGON:
22056 case PORT:
22057 case PRECEDES:
22058 case PRECEDING:
22059 case PREPARE:
22060 case PRESERVE:
22061 case PREV:
22062 case PRIMARY:
22063 case PRIVILEGES:
22064 case PRIVILEGE_CHECKS_USER:
22065 case PROCESS:
22066 case PROCESSLIST:
22067 case PROFILE:
22068 case PROFILES:
22069 case PROXY:
22070 case QUARTER:
22071 case QUERY:
22072 case QUICK:
22073 case RANDOM:
22074 case READ_ONLY:
22075 case REBUILD:
22076 case RECOVER:
22077 case REDO_BUFFER_SIZE:
22078 case REDUNDANT:
22079 case REFERENCE:
22080 case RELAY:
22081 case RELAYLOG:
22082 case RELAY_LOG_FILE:
22083 case RELAY_LOG_POS:
22084 case RELAY_THREAD:
22085 case RELOAD:
22086 case REMOVE:
22087 case REORGANIZE:
22088 case REPAIR:
22089 case REPEATABLE:
22090 case REPLICATE_DO_DB:
22091 case REPLICATE_DO_TABLE:
22092 case REPLICATE_IGNORE_DB:
22093 case REPLICATE_IGNORE_TABLE:
22094 case REPLICATE_REWRITE_DB:
22095 case REPLICATE_WILD_DO_TABLE:
22096 case REPLICATE_WILD_IGNORE_TABLE:
22097 case REPLICATION:
22098 case REQUIRE_ROW_FORMAT:
22099 case RESET:
22100 case RESOURCE:
22101 case RESPECT:
22102 case RESTART:
22103 case RESTORE:
22104 case RESUME:
22105 case RETAIN:
22106 case RETURNED_SQLSTATE:
22107 case RETURNING:
22108 case RETURNS:
22109 case REUSE:
22110 case REVERSE:
22111 case ROLE:
22112 case ROLLBACK:
22113 case ROLLUP:
22114 case ROTATE:
22115 case ROUTINE:
22116 case ROW_COUNT:
22117 case ROW_FORMAT:
22118 case RTREE:
22119 case SAVEPOINT:
22120 case SCHEDULE:
22121 case SCHEMA_NAME:
22122 case SECOND:
22123 case SECONDARY:
22124 case SECONDARY_ENGINE:
22125 case SECONDARY_ENGINE_ATTRIBUTE:
22126 case SECONDARY_LOAD:
22127 case SECONDARY_UNLOAD:
22128 case SECURITY:
22129 case SERIAL:
22130 case SERIALIZABLE:
22131 case SERVER:
22132 case SESSION:
22133 case SHARE:
22134 case SHUTDOWN:
22135 case SIGNED:
22136 case SIMPLE:
22137 case SLAVE:
22138 case SLOW:
22139 case SNAPSHOT:
22140 case SOCKET:
22141 case SONAME:
22142 case SOUNDS:
22143 case SOURCE:
22144 case SQL_AFTER_GTIDS:
22145 case SQL_AFTER_MTS_GAPS:
22146 case SQL_BEFORE_GTIDS:
22147 case SQL_BUFFER_RESULT:
22148 case SQL_NO_CACHE:
22149 case SQL_THREAD:
22150 case SRID:
22151 case STACKED:
22152 case START:
22153 case STARTS:
22154 case STATS_AUTO_RECALC:
22155 case STATS_PERSISTENT:
22156 case STATS_SAMPLE_PAGES:
22157 case STATUS:
22158 case STOP:
22159 case STORAGE:
22160 case STREAM:
22161 case STRING:
22162 case SUBCLASS_ORIGIN:
22163 case SUBJECT:
22164 case SUBPARTITION:
22165 case SUBPARTITIONS:
22166 case SUPER:
22167 case SUSPEND:
22168 case SWAPS:
22169 case SWITCHES:
22170 case SYSTEM:
22171 case TABLE:
22172 case TABLES:
22173 case TABLESPACE:
22174 case TABLE_CHECKSUM:
22175 case TABLE_NAME:
22176 case TEMPORARY:
22177 case TEMPTABLE:
22178 case TEXT:
22179 case THAN:
22180 case THREAD_PRIORITY:
22181 case TIES:
22182 case TIME:
22183 case TIMESTAMP:
22184 case TIMESTAMP_ADD:
22185 case TIMESTAMP_DIFF:
22186 case TLS:
22187 case TRANSACTION:
22188 case TRIGGERS:
22189 case TRUNCATE:
22190 case TYPE:
22191 case TYPES:
22192 case UNBOUNDED:
22193 case UNCOMMITTED:
22194 case UNDEFINED:
22195 case UNDOFILE:
22196 case UNDO_BUFFER_SIZE:
22197 case UNICODE:
22198 case UNINSTALL:
22199 case UNKNOWN:
22200 case UNTIL:
22201 case UPGRADE:
22202 case USER:
22203 case USER_RESOURCES:
22204 case USE_FRM:
22205 case UTC_DATE:
22206 case UTC_TIME:
22207 case UTC_TIMESTAMP:
22208 case VALIDATION:
22209 case VALUE:
22210 case VARIABLES:
22211 case VCPU:
22212 case VIEW:
22213 case VISIBLE:
22214 case WAIT:
22215 case WARNINGS:
22216 case WEEK:
22217 case WEIGHT_STRING:
22218 case WITHOUT:
22219 case WORK:
22220 case WRAPPER:
22221 case X509:
22222 case XA:
22223 case XID:
22224 case XML:
22225 case YEAR:
22226 case YEAR_MONTH:
22227 case DOUBLE_QUOTED_TEXT:
22228 case BQUOTA_STRING:
22229 case UNDERSCORE_CHARSET:
22230 case IDENTIFIER_:
22231 {
22232 setState(2125);
22233 ((WindowingClauseContext)_localctx).windowName = identifier();
22234 }
22235 break;
22236 case LP_:
22237 {
22238 setState(2126);
22239 windowSpecification();
22240 }
22241 break;
22242 default:
22243 throw new NoViableAltException(this);
22244 }
22245 }
22246 }
22247 catch (RecognitionException re) {
22248 _localctx.exception = re;
22249 _errHandler.reportError(this, re);
22250 _errHandler.recover(this, re);
22251 }
22252 finally {
22253 exitRule();
22254 }
22255 return _localctx;
22256 }
22257
22258 public static class LeadLagInfoContext extends ParserRuleContext {
22259 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
22260 public TerminalNode COMMA_(int i) {
22261 return getToken(HiveStatementParser.COMMA_, i);
22262 }
22263 public TerminalNode NUMBER_() { return getToken(HiveStatementParser.NUMBER_, 0); }
22264 public TerminalNode QUESTION_() { return getToken(HiveStatementParser.QUESTION_, 0); }
22265 public ExprContext expr() {
22266 return getRuleContext(ExprContext.class,0);
22267 }
22268 public LeadLagInfoContext(ParserRuleContext parent, int invokingState) {
22269 super(parent, invokingState);
22270 }
22271 @Override public int getRuleIndex() { return RULE_leadLagInfo; }
22272 @Override
22273 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22274 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLeadLagInfo(this);
22275 else return visitor.visitChildren(this);
22276 }
22277 }
22278
22279 public final LeadLagInfoContext leadLagInfo() throws RecognitionException {
22280 LeadLagInfoContext _localctx = new LeadLagInfoContext(_ctx, getState());
22281 enterRule(_localctx, 372, RULE_leadLagInfo);
22282 int _la;
22283 try {
22284 enterOuterAlt(_localctx, 1);
22285 {
22286 setState(2129);
22287 match(COMMA_);
22288 setState(2130);
22289 _la = _input.LA(1);
22290 if ( !(_la==QUESTION_ || _la==NUMBER_) ) {
22291 _errHandler.recoverInline(this);
22292 }
22293 else {
22294 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22295 _errHandler.reportMatch(this);
22296 consume();
22297 }
22298 setState(2133);
22299 _errHandler.sync(this);
22300 _la = _input.LA(1);
22301 if (_la==COMMA_) {
22302 {
22303 setState(2131);
22304 match(COMMA_);
22305 setState(2132);
22306 expr(0);
22307 }
22308 }
22309
22310 }
22311 }
22312 catch (RecognitionException re) {
22313 _localctx.exception = re;
22314 _errHandler.reportError(this, re);
22315 _errHandler.recover(this, re);
22316 }
22317 finally {
22318 exitRule();
22319 }
22320 return _localctx;
22321 }
22322
22323 public static class NullTreatmentContext extends ParserRuleContext {
22324 public TerminalNode NULLS() { return getToken(HiveStatementParser.NULLS, 0); }
22325 public TerminalNode RESPECT() { return getToken(HiveStatementParser.RESPECT, 0); }
22326 public TerminalNode IGNORE() { return getToken(HiveStatementParser.IGNORE, 0); }
22327 public NullTreatmentContext(ParserRuleContext parent, int invokingState) {
22328 super(parent, invokingState);
22329 }
22330 @Override public int getRuleIndex() { return RULE_nullTreatment; }
22331 @Override
22332 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22333 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitNullTreatment(this);
22334 else return visitor.visitChildren(this);
22335 }
22336 }
22337
22338 public final NullTreatmentContext nullTreatment() throws RecognitionException {
22339 NullTreatmentContext _localctx = new NullTreatmentContext(_ctx, getState());
22340 enterRule(_localctx, 374, RULE_nullTreatment);
22341 int _la;
22342 try {
22343 enterOuterAlt(_localctx, 1);
22344 {
22345 setState(2135);
22346 _la = _input.LA(1);
22347 if ( !(_la==IGNORE || _la==RESPECT) ) {
22348 _errHandler.recoverInline(this);
22349 }
22350 else {
22351 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22352 _errHandler.reportMatch(this);
22353 consume();
22354 }
22355 setState(2136);
22356 match(NULLS);
22357 }
22358 }
22359 catch (RecognitionException re) {
22360 _localctx.exception = re;
22361 _errHandler.reportError(this, re);
22362 _errHandler.recover(this, re);
22363 }
22364 finally {
22365 exitRule();
22366 }
22367 return _localctx;
22368 }
22369
22370 public static class CheckTypeContext extends ParserRuleContext {
22371 public TerminalNode FOR() { return getToken(HiveStatementParser.FOR, 0); }
22372 public TerminalNode UPGRADE() { return getToken(HiveStatementParser.UPGRADE, 0); }
22373 public TerminalNode QUICK() { return getToken(HiveStatementParser.QUICK, 0); }
22374 public TerminalNode FAST() { return getToken(HiveStatementParser.FAST, 0); }
22375 public TerminalNode MEDIUM() { return getToken(HiveStatementParser.MEDIUM, 0); }
22376 public TerminalNode EXTENDED() { return getToken(HiveStatementParser.EXTENDED, 0); }
22377 public TerminalNode CHANGED() { return getToken(HiveStatementParser.CHANGED, 0); }
22378 public CheckTypeContext(ParserRuleContext parent, int invokingState) {
22379 super(parent, invokingState);
22380 }
22381 @Override public int getRuleIndex() { return RULE_checkType; }
22382 @Override
22383 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22384 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCheckType(this);
22385 else return visitor.visitChildren(this);
22386 }
22387 }
22388
22389 public final CheckTypeContext checkType() throws RecognitionException {
22390 CheckTypeContext _localctx = new CheckTypeContext(_ctx, getState());
22391 enterRule(_localctx, 376, RULE_checkType);
22392 try {
22393 setState(2145);
22394 _errHandler.sync(this);
22395 switch (_input.LA(1)) {
22396 case FOR:
22397 enterOuterAlt(_localctx, 1);
22398 {
22399 setState(2138);
22400 match(FOR);
22401 setState(2139);
22402 match(UPGRADE);
22403 }
22404 break;
22405 case QUICK:
22406 enterOuterAlt(_localctx, 2);
22407 {
22408 setState(2140);
22409 match(QUICK);
22410 }
22411 break;
22412 case FAST:
22413 enterOuterAlt(_localctx, 3);
22414 {
22415 setState(2141);
22416 match(FAST);
22417 }
22418 break;
22419 case MEDIUM:
22420 enterOuterAlt(_localctx, 4);
22421 {
22422 setState(2142);
22423 match(MEDIUM);
22424 }
22425 break;
22426 case EXTENDED:
22427 enterOuterAlt(_localctx, 5);
22428 {
22429 setState(2143);
22430 match(EXTENDED);
22431 }
22432 break;
22433 case CHANGED:
22434 enterOuterAlt(_localctx, 6);
22435 {
22436 setState(2144);
22437 match(CHANGED);
22438 }
22439 break;
22440 default:
22441 throw new NoViableAltException(this);
22442 }
22443 }
22444 catch (RecognitionException re) {
22445 _localctx.exception = re;
22446 _errHandler.reportError(this, re);
22447 _errHandler.recover(this, re);
22448 }
22449 finally {
22450 exitRule();
22451 }
22452 return _localctx;
22453 }
22454
22455 public static class RepairTypeContext extends ParserRuleContext {
22456 public TerminalNode QUICK() { return getToken(HiveStatementParser.QUICK, 0); }
22457 public TerminalNode EXTENDED() { return getToken(HiveStatementParser.EXTENDED, 0); }
22458 public TerminalNode USE_FRM() { return getToken(HiveStatementParser.USE_FRM, 0); }
22459 public RepairTypeContext(ParserRuleContext parent, int invokingState) {
22460 super(parent, invokingState);
22461 }
22462 @Override public int getRuleIndex() { return RULE_repairType; }
22463 @Override
22464 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22465 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitRepairType(this);
22466 else return visitor.visitChildren(this);
22467 }
22468 }
22469
22470 public final RepairTypeContext repairType() throws RecognitionException {
22471 RepairTypeContext _localctx = new RepairTypeContext(_ctx, getState());
22472 enterRule(_localctx, 378, RULE_repairType);
22473 int _la;
22474 try {
22475 enterOuterAlt(_localctx, 1);
22476 {
22477 setState(2147);
22478 _la = _input.LA(1);
22479 if ( !(_la==EXTENDED || _la==QUICK || _la==USE_FRM) ) {
22480 _errHandler.recoverInline(this);
22481 }
22482 else {
22483 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22484 _errHandler.reportMatch(this);
22485 consume();
22486 }
22487 }
22488 }
22489 catch (RecognitionException re) {
22490 _localctx.exception = re;
22491 _errHandler.reportError(this, re);
22492 _errHandler.recover(this, re);
22493 }
22494 finally {
22495 exitRule();
22496 }
22497 return _localctx;
22498 }
22499
22500 public static class CastFunctionContext extends ParserRuleContext {
22501 public TerminalNode CAST() { return getToken(HiveStatementParser.CAST, 0); }
22502 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
22503 public List<ExprContext> expr() {
22504 return getRuleContexts(ExprContext.class);
22505 }
22506 public ExprContext expr(int i) {
22507 return getRuleContext(ExprContext.class,i);
22508 }
22509 public TerminalNode AS() { return getToken(HiveStatementParser.AS, 0); }
22510 public CastTypeContext castType() {
22511 return getRuleContext(CastTypeContext.class,0);
22512 }
22513 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
22514 public TerminalNode ARRAY() { return getToken(HiveStatementParser.ARRAY, 0); }
22515 public TerminalNode AT() { return getToken(HiveStatementParser.AT, 0); }
22516 public TerminalNode TIME() { return getToken(HiveStatementParser.TIME, 0); }
22517 public TerminalNode ZONE() { return getToken(HiveStatementParser.ZONE, 0); }
22518 public TerminalNode DATETIME() { return getToken(HiveStatementParser.DATETIME, 0); }
22519 public TypeDatetimePrecisionContext typeDatetimePrecision() {
22520 return getRuleContext(TypeDatetimePrecisionContext.class,0);
22521 }
22522 public CastFunctionContext(ParserRuleContext parent, int invokingState) {
22523 super(parent, invokingState);
22524 }
22525 @Override public int getRuleIndex() { return RULE_castFunction; }
22526 @Override
22527 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22528 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCastFunction(this);
22529 else return visitor.visitChildren(this);
22530 }
22531 }
22532
22533 public final CastFunctionContext castFunction() throws RecognitionException {
22534 CastFunctionContext _localctx = new CastFunctionContext(_ctx, getState());
22535 enterRule(_localctx, 380, RULE_castFunction);
22536 int _la;
22537 try {
22538 setState(2173);
22539 _errHandler.sync(this);
22540 switch ( getInterpreter().adaptivePredict(_input,248,_ctx) ) {
22541 case 1:
22542 enterOuterAlt(_localctx, 1);
22543 {
22544 setState(2149);
22545 match(CAST);
22546 setState(2150);
22547 match(LP_);
22548 setState(2151);
22549 expr(0);
22550 setState(2152);
22551 match(AS);
22552 setState(2153);
22553 castType();
22554 setState(2155);
22555 _errHandler.sync(this);
22556 _la = _input.LA(1);
22557 if (_la==ARRAY) {
22558 {
22559 setState(2154);
22560 match(ARRAY);
22561 }
22562 }
22563
22564 setState(2157);
22565 match(RP_);
22566 }
22567 break;
22568 case 2:
22569 enterOuterAlt(_localctx, 2);
22570 {
22571 setState(2159);
22572 match(CAST);
22573 setState(2160);
22574 match(LP_);
22575 setState(2161);
22576 expr(0);
22577 setState(2162);
22578 match(AT);
22579 setState(2163);
22580 match(TIME);
22581 setState(2164);
22582 match(ZONE);
22583 setState(2165);
22584 expr(0);
22585 setState(2166);
22586 match(AS);
22587 setState(2167);
22588 match(DATETIME);
22589 setState(2169);
22590 _errHandler.sync(this);
22591 _la = _input.LA(1);
22592 if (_la==LP_) {
22593 {
22594 setState(2168);
22595 typeDatetimePrecision();
22596 }
22597 }
22598
22599 setState(2171);
22600 match(RP_);
22601 }
22602 break;
22603 }
22604 }
22605 catch (RecognitionException re) {
22606 _localctx.exception = re;
22607 _errHandler.reportError(this, re);
22608 _errHandler.recover(this, re);
22609 }
22610 finally {
22611 exitRule();
22612 }
22613 return _localctx;
22614 }
22615
22616 public static class ConvertFunctionContext extends ParserRuleContext {
22617 public TerminalNode CONVERT() { return getToken(HiveStatementParser.CONVERT, 0); }
22618 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
22619 public ExprContext expr() {
22620 return getRuleContext(ExprContext.class,0);
22621 }
22622 public TerminalNode COMMA_() { return getToken(HiveStatementParser.COMMA_, 0); }
22623 public CastTypeContext castType() {
22624 return getRuleContext(CastTypeContext.class,0);
22625 }
22626 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
22627 public TerminalNode USING() { return getToken(HiveStatementParser.USING, 0); }
22628 public CharsetNameContext charsetName() {
22629 return getRuleContext(CharsetNameContext.class,0);
22630 }
22631 public ConvertFunctionContext(ParserRuleContext parent, int invokingState) {
22632 super(parent, invokingState);
22633 }
22634 @Override public int getRuleIndex() { return RULE_convertFunction; }
22635 @Override
22636 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22637 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitConvertFunction(this);
22638 else return visitor.visitChildren(this);
22639 }
22640 }
22641
22642 public final ConvertFunctionContext convertFunction() throws RecognitionException {
22643 ConvertFunctionContext _localctx = new ConvertFunctionContext(_ctx, getState());
22644 enterRule(_localctx, 382, RULE_convertFunction);
22645 try {
22646 setState(2189);
22647 _errHandler.sync(this);
22648 switch ( getInterpreter().adaptivePredict(_input,249,_ctx) ) {
22649 case 1:
22650 enterOuterAlt(_localctx, 1);
22651 {
22652 setState(2175);
22653 match(CONVERT);
22654 setState(2176);
22655 match(LP_);
22656 setState(2177);
22657 expr(0);
22658 setState(2178);
22659 match(COMMA_);
22660 setState(2179);
22661 castType();
22662 setState(2180);
22663 match(RP_);
22664 }
22665 break;
22666 case 2:
22667 enterOuterAlt(_localctx, 2);
22668 {
22669 setState(2182);
22670 match(CONVERT);
22671 setState(2183);
22672 match(LP_);
22673 setState(2184);
22674 expr(0);
22675 setState(2185);
22676 match(USING);
22677 setState(2186);
22678 charsetName();
22679 setState(2187);
22680 match(RP_);
22681 }
22682 break;
22683 }
22684 }
22685 catch (RecognitionException re) {
22686 _localctx.exception = re;
22687 _errHandler.reportError(this, re);
22688 _errHandler.recover(this, re);
22689 }
22690 finally {
22691 exitRule();
22692 }
22693 return _localctx;
22694 }
22695
22696 public static class CastTypeContext extends ParserRuleContext {
22697 public Token castTypeName;
22698 public TerminalNode BINARY() { return getToken(HiveStatementParser.BINARY, 0); }
22699 public FieldLengthContext fieldLength() {
22700 return getRuleContext(FieldLengthContext.class,0);
22701 }
22702 public TerminalNode CHAR() { return getToken(HiveStatementParser.CHAR, 0); }
22703 public CharsetWithOptBinaryContext charsetWithOptBinary() {
22704 return getRuleContext(CharsetWithOptBinaryContext.class,0);
22705 }
22706 public TerminalNode NCHAR() { return getToken(HiveStatementParser.NCHAR, 0); }
22707 public TerminalNode NATIONAL_CHAR() { return getToken(HiveStatementParser.NATIONAL_CHAR, 0); }
22708 public TerminalNode SIGNED() { return getToken(HiveStatementParser.SIGNED, 0); }
22709 public TerminalNode SIGNED_INT() { return getToken(HiveStatementParser.SIGNED_INT, 0); }
22710 public TerminalNode SIGNED_INTEGER() { return getToken(HiveStatementParser.SIGNED_INTEGER, 0); }
22711 public TerminalNode UNSIGNED() { return getToken(HiveStatementParser.UNSIGNED, 0); }
22712 public TerminalNode UNSIGNED_INT() { return getToken(HiveStatementParser.UNSIGNED_INT, 0); }
22713 public TerminalNode UNSIGNED_INTEGER() { return getToken(HiveStatementParser.UNSIGNED_INTEGER, 0); }
22714 public TerminalNode DATE() { return getToken(HiveStatementParser.DATE, 0); }
22715 public TerminalNode TIME() { return getToken(HiveStatementParser.TIME, 0); }
22716 public TypeDatetimePrecisionContext typeDatetimePrecision() {
22717 return getRuleContext(TypeDatetimePrecisionContext.class,0);
22718 }
22719 public TerminalNode DATETIME() { return getToken(HiveStatementParser.DATETIME, 0); }
22720 public TerminalNode DECIMAL() { return getToken(HiveStatementParser.DECIMAL, 0); }
22721 public PrecisionContext precision() {
22722 return getRuleContext(PrecisionContext.class,0);
22723 }
22724 public TerminalNode JSON() { return getToken(HiveStatementParser.JSON, 0); }
22725 public TerminalNode REAL() { return getToken(HiveStatementParser.REAL, 0); }
22726 public TerminalNode PRECISION() { return getToken(HiveStatementParser.PRECISION, 0); }
22727 public TerminalNode DOUBLE() { return getToken(HiveStatementParser.DOUBLE, 0); }
22728 public TerminalNode FLOAT() { return getToken(HiveStatementParser.FLOAT, 0); }
22729 public CastTypeContext(ParserRuleContext parent, int invokingState) {
22730 super(parent, invokingState);
22731 }
22732 @Override public int getRuleIndex() { return RULE_castType; }
22733 @Override
22734 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22735 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCastType(this);
22736 else return visitor.visitChildren(this);
22737 }
22738 }
22739
22740 public final CastTypeContext castType() throws RecognitionException {
22741 CastTypeContext _localctx = new CastTypeContext(_ctx, getState());
22742 enterRule(_localctx, 384, RULE_castType);
22743 int _la;
22744 try {
22745 setState(2233);
22746 _errHandler.sync(this);
22747 switch (_input.LA(1)) {
22748 case BINARY:
22749 enterOuterAlt(_localctx, 1);
22750 {
22751 setState(2191);
22752 ((CastTypeContext)_localctx).castTypeName = match(BINARY);
22753 setState(2193);
22754 _errHandler.sync(this);
22755 _la = _input.LA(1);
22756 if (_la==LP_) {
22757 {
22758 setState(2192);
22759 fieldLength();
22760 }
22761 }
22762
22763 }
22764 break;
22765 case CHAR:
22766 enterOuterAlt(_localctx, 2);
22767 {
22768 setState(2195);
22769 ((CastTypeContext)_localctx).castTypeName = match(CHAR);
22770 setState(2197);
22771 _errHandler.sync(this);
22772 _la = _input.LA(1);
22773 if (_la==LP_) {
22774 {
22775 setState(2196);
22776 fieldLength();
22777 }
22778 }
22779
22780 setState(2200);
22781 _errHandler.sync(this);
22782 _la = _input.LA(1);
22783 if (((((_la - 91)) & ~0x3f) == 0 && ((1L << (_la - 91)) & ((1L << (ASCII - 91)) | (1L << (BINARY - 91)) | (1L << (BYTE - 91)) | (1L << (CHAR - 91)) | (1L << (CHARACTER - 91)) | (1L << (CHARSET - 91)))) != 0) || _la==UNICODE) {
22784 {
22785 setState(2199);
22786 charsetWithOptBinary();
22787 }
22788 }
22789
22790 }
22791 break;
22792 case NATIONAL_CHAR:
22793 case NCHAR:
22794 enterOuterAlt(_localctx, 3);
22795 {
22796 setState(2204);
22797 _errHandler.sync(this);
22798 switch (_input.LA(1)) {
22799 case NCHAR:
22800 {
22801 setState(2202);
22802 ((CastTypeContext)_localctx).castTypeName = match(NCHAR);
22803 }
22804 break;
22805 case NATIONAL_CHAR:
22806 {
22807 setState(2203);
22808 ((CastTypeContext)_localctx).castTypeName = match(NATIONAL_CHAR);
22809 }
22810 break;
22811 default:
22812 throw new NoViableAltException(this);
22813 }
22814 setState(2207);
22815 _errHandler.sync(this);
22816 _la = _input.LA(1);
22817 if (_la==LP_) {
22818 {
22819 setState(2206);
22820 fieldLength();
22821 }
22822 }
22823
22824 }
22825 break;
22826 case SIGNED:
22827 case SIGNED_INT:
22828 case SIGNED_INTEGER:
22829 enterOuterAlt(_localctx, 4);
22830 {
22831 setState(2209);
22832 ((CastTypeContext)_localctx).castTypeName = _input.LT(1);
22833 _la = _input.LA(1);
22834 if ( !(((((_la - 642)) & ~0x3f) == 0 && ((1L << (_la - 642)) & ((1L << (SIGNED - 642)) | (1L << (SIGNED_INT - 642)) | (1L << (SIGNED_INTEGER - 642)))) != 0)) ) {
22835 ((CastTypeContext)_localctx).castTypeName = (Token)_errHandler.recoverInline(this);
22836 }
22837 else {
22838 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22839 _errHandler.reportMatch(this);
22840 consume();
22841 }
22842 }
22843 break;
22844 case UNSIGNED:
22845 case UNSIGNED_INT:
22846 case UNSIGNED_INTEGER:
22847 enterOuterAlt(_localctx, 5);
22848 {
22849 setState(2210);
22850 ((CastTypeContext)_localctx).castTypeName = _input.LT(1);
22851 _la = _input.LA(1);
22852 if ( !(((((_la - 764)) & ~0x3f) == 0 && ((1L << (_la - 764)) & ((1L << (UNSIGNED - 764)) | (1L << (UNSIGNED_INT - 764)) | (1L << (UNSIGNED_INTEGER - 764)))) != 0)) ) {
22853 ((CastTypeContext)_localctx).castTypeName = (Token)_errHandler.recoverInline(this);
22854 }
22855 else {
22856 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22857 _errHandler.reportMatch(this);
22858 consume();
22859 }
22860 }
22861 break;
22862 case DATE:
22863 enterOuterAlt(_localctx, 6);
22864 {
22865 setState(2211);
22866 ((CastTypeContext)_localctx).castTypeName = match(DATE);
22867 }
22868 break;
22869 case TIME:
22870 enterOuterAlt(_localctx, 7);
22871 {
22872 setState(2212);
22873 ((CastTypeContext)_localctx).castTypeName = match(TIME);
22874 setState(2214);
22875 _errHandler.sync(this);
22876 _la = _input.LA(1);
22877 if (_la==LP_) {
22878 {
22879 setState(2213);
22880 typeDatetimePrecision();
22881 }
22882 }
22883
22884 }
22885 break;
22886 case DATETIME:
22887 enterOuterAlt(_localctx, 8);
22888 {
22889 setState(2216);
22890 ((CastTypeContext)_localctx).castTypeName = match(DATETIME);
22891 setState(2218);
22892 _errHandler.sync(this);
22893 _la = _input.LA(1);
22894 if (_la==LP_) {
22895 {
22896 setState(2217);
22897 typeDatetimePrecision();
22898 }
22899 }
22900
22901 }
22902 break;
22903 case DECIMAL:
22904 enterOuterAlt(_localctx, 9);
22905 {
22906 setState(2220);
22907 ((CastTypeContext)_localctx).castTypeName = match(DECIMAL);
22908 setState(2223);
22909 _errHandler.sync(this);
22910 switch ( getInterpreter().adaptivePredict(_input,257,_ctx) ) {
22911 case 1:
22912 {
22913 setState(2221);
22914 fieldLength();
22915 }
22916 break;
22917 case 2:
22918 {
22919 setState(2222);
22920 precision();
22921 }
22922 break;
22923 }
22924 }
22925 break;
22926 case JSON:
22927 enterOuterAlt(_localctx, 10);
22928 {
22929 setState(2225);
22930 ((CastTypeContext)_localctx).castTypeName = match(JSON);
22931 }
22932 break;
22933 case REAL:
22934 enterOuterAlt(_localctx, 11);
22935 {
22936 setState(2226);
22937 ((CastTypeContext)_localctx).castTypeName = match(REAL);
22938 }
22939 break;
22940 case DOUBLE:
22941 enterOuterAlt(_localctx, 12);
22942 {
22943 setState(2227);
22944 ((CastTypeContext)_localctx).castTypeName = match(DOUBLE);
22945 setState(2228);
22946 match(PRECISION);
22947 }
22948 break;
22949 case FLOAT:
22950 enterOuterAlt(_localctx, 13);
22951 {
22952 setState(2229);
22953 ((CastTypeContext)_localctx).castTypeName = match(FLOAT);
22954 setState(2231);
22955 _errHandler.sync(this);
22956 _la = _input.LA(1);
22957 if (_la==LP_) {
22958 {
22959 setState(2230);
22960 precision();
22961 }
22962 }
22963
22964 }
22965 break;
22966 default:
22967 throw new NoViableAltException(this);
22968 }
22969 }
22970 catch (RecognitionException re) {
22971 _localctx.exception = re;
22972 _errHandler.reportError(this, re);
22973 _errHandler.recover(this, re);
22974 }
22975 finally {
22976 exitRule();
22977 }
22978 return _localctx;
22979 }
22980
22981 public static class PositionFunctionContext extends ParserRuleContext {
22982 public TerminalNode POSITION() { return getToken(HiveStatementParser.POSITION, 0); }
22983 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
22984 public List<ExprContext> expr() {
22985 return getRuleContexts(ExprContext.class);
22986 }
22987 public ExprContext expr(int i) {
22988 return getRuleContext(ExprContext.class,i);
22989 }
22990 public TerminalNode IN() { return getToken(HiveStatementParser.IN, 0); }
22991 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
22992 public PositionFunctionContext(ParserRuleContext parent, int invokingState) {
22993 super(parent, invokingState);
22994 }
22995 @Override public int getRuleIndex() { return RULE_positionFunction; }
22996 @Override
22997 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22998 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitPositionFunction(this);
22999 else return visitor.visitChildren(this);
23000 }
23001 }
23002
23003 public final PositionFunctionContext positionFunction() throws RecognitionException {
23004 PositionFunctionContext _localctx = new PositionFunctionContext(_ctx, getState());
23005 enterRule(_localctx, 386, RULE_positionFunction);
23006 try {
23007 enterOuterAlt(_localctx, 1);
23008 {
23009 setState(2235);
23010 match(POSITION);
23011 setState(2236);
23012 match(LP_);
23013 setState(2237);
23014 expr(0);
23015 setState(2238);
23016 match(IN);
23017 setState(2239);
23018 expr(0);
23019 setState(2240);
23020 match(RP_);
23021 }
23022 }
23023 catch (RecognitionException re) {
23024 _localctx.exception = re;
23025 _errHandler.reportError(this, re);
23026 _errHandler.recover(this, re);
23027 }
23028 finally {
23029 exitRule();
23030 }
23031 return _localctx;
23032 }
23033
23034 public static class SubstringFunctionContext extends ParserRuleContext {
23035 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
23036 public ExprContext expr() {
23037 return getRuleContext(ExprContext.class,0);
23038 }
23039 public TerminalNode FROM() { return getToken(HiveStatementParser.FROM, 0); }
23040 public List<TerminalNode> NUMBER_() { return getTokens(HiveStatementParser.NUMBER_); }
23041 public TerminalNode NUMBER_(int i) {
23042 return getToken(HiveStatementParser.NUMBER_, i);
23043 }
23044 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
23045 public TerminalNode SUBSTRING() { return getToken(HiveStatementParser.SUBSTRING, 0); }
23046 public TerminalNode SUBSTR() { return getToken(HiveStatementParser.SUBSTR, 0); }
23047 public TerminalNode FOR() { return getToken(HiveStatementParser.FOR, 0); }
23048 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
23049 public TerminalNode COMMA_(int i) {
23050 return getToken(HiveStatementParser.COMMA_, i);
23051 }
23052 public SubstringFunctionContext(ParserRuleContext parent, int invokingState) {
23053 super(parent, invokingState);
23054 }
23055 @Override public int getRuleIndex() { return RULE_substringFunction; }
23056 @Override
23057 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23058 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitSubstringFunction(this);
23059 else return visitor.visitChildren(this);
23060 }
23061 }
23062
23063 public final SubstringFunctionContext substringFunction() throws RecognitionException {
23064 SubstringFunctionContext _localctx = new SubstringFunctionContext(_ctx, getState());
23065 enterRule(_localctx, 388, RULE_substringFunction);
23066 int _la;
23067 try {
23068 setState(2264);
23069 _errHandler.sync(this);
23070 switch ( getInterpreter().adaptivePredict(_input,262,_ctx) ) {
23071 case 1:
23072 enterOuterAlt(_localctx, 1);
23073 {
23074 setState(2242);
23075 _la = _input.LA(1);
23076 if ( !(_la==SUBSTRING || _la==SUBSTR) ) {
23077 _errHandler.recoverInline(this);
23078 }
23079 else {
23080 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23081 _errHandler.reportMatch(this);
23082 consume();
23083 }
23084 setState(2243);
23085 match(LP_);
23086 setState(2244);
23087 expr(0);
23088 setState(2245);
23089 match(FROM);
23090 setState(2246);
23091 match(NUMBER_);
23092 setState(2249);
23093 _errHandler.sync(this);
23094 _la = _input.LA(1);
23095 if (_la==FOR) {
23096 {
23097 setState(2247);
23098 match(FOR);
23099 setState(2248);
23100 match(NUMBER_);
23101 }
23102 }
23103
23104 setState(2251);
23105 match(RP_);
23106 }
23107 break;
23108 case 2:
23109 enterOuterAlt(_localctx, 2);
23110 {
23111 setState(2253);
23112 _la = _input.LA(1);
23113 if ( !(_la==SUBSTRING || _la==SUBSTR) ) {
23114 _errHandler.recoverInline(this);
23115 }
23116 else {
23117 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23118 _errHandler.reportMatch(this);
23119 consume();
23120 }
23121 setState(2254);
23122 match(LP_);
23123 setState(2255);
23124 expr(0);
23125 setState(2256);
23126 match(COMMA_);
23127 setState(2257);
23128 match(NUMBER_);
23129 setState(2260);
23130 _errHandler.sync(this);
23131 _la = _input.LA(1);
23132 if (_la==COMMA_) {
23133 {
23134 setState(2258);
23135 match(COMMA_);
23136 setState(2259);
23137 match(NUMBER_);
23138 }
23139 }
23140
23141 setState(2262);
23142 match(RP_);
23143 }
23144 break;
23145 }
23146 }
23147 catch (RecognitionException re) {
23148 _localctx.exception = re;
23149 _errHandler.reportError(this, re);
23150 _errHandler.recover(this, re);
23151 }
23152 finally {
23153 exitRule();
23154 }
23155 return _localctx;
23156 }
23157
23158 public static class ExtractFunctionContext extends ParserRuleContext {
23159 public TerminalNode EXTRACT() { return getToken(HiveStatementParser.EXTRACT, 0); }
23160 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
23161 public IdentifierContext identifier() {
23162 return getRuleContext(IdentifierContext.class,0);
23163 }
23164 public TerminalNode FROM() { return getToken(HiveStatementParser.FROM, 0); }
23165 public ExprContext expr() {
23166 return getRuleContext(ExprContext.class,0);
23167 }
23168 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
23169 public ExtractFunctionContext(ParserRuleContext parent, int invokingState) {
23170 super(parent, invokingState);
23171 }
23172 @Override public int getRuleIndex() { return RULE_extractFunction; }
23173 @Override
23174 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23175 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitExtractFunction(this);
23176 else return visitor.visitChildren(this);
23177 }
23178 }
23179
23180 public final ExtractFunctionContext extractFunction() throws RecognitionException {
23181 ExtractFunctionContext _localctx = new ExtractFunctionContext(_ctx, getState());
23182 enterRule(_localctx, 390, RULE_extractFunction);
23183 try {
23184 enterOuterAlt(_localctx, 1);
23185 {
23186 setState(2266);
23187 match(EXTRACT);
23188 setState(2267);
23189 match(LP_);
23190 setState(2268);
23191 identifier();
23192 setState(2269);
23193 match(FROM);
23194 setState(2270);
23195 expr(0);
23196 setState(2271);
23197 match(RP_);
23198 }
23199 }
23200 catch (RecognitionException re) {
23201 _localctx.exception = re;
23202 _errHandler.reportError(this, re);
23203 _errHandler.recover(this, re);
23204 }
23205 finally {
23206 exitRule();
23207 }
23208 return _localctx;
23209 }
23210
23211 public static class CharFunctionContext extends ParserRuleContext {
23212 public TerminalNode CHAR() { return getToken(HiveStatementParser.CHAR, 0); }
23213 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
23214 public List<ExprContext> expr() {
23215 return getRuleContexts(ExprContext.class);
23216 }
23217 public ExprContext expr(int i) {
23218 return getRuleContext(ExprContext.class,i);
23219 }
23220 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
23221 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
23222 public TerminalNode COMMA_(int i) {
23223 return getToken(HiveStatementParser.COMMA_, i);
23224 }
23225 public TerminalNode USING() { return getToken(HiveStatementParser.USING, 0); }
23226 public CharsetNameContext charsetName() {
23227 return getRuleContext(CharsetNameContext.class,0);
23228 }
23229 public CharFunctionContext(ParserRuleContext parent, int invokingState) {
23230 super(parent, invokingState);
23231 }
23232 @Override public int getRuleIndex() { return RULE_charFunction; }
23233 @Override
23234 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23235 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCharFunction(this);
23236 else return visitor.visitChildren(this);
23237 }
23238 }
23239
23240 public final CharFunctionContext charFunction() throws RecognitionException {
23241 CharFunctionContext _localctx = new CharFunctionContext(_ctx, getState());
23242 enterRule(_localctx, 392, RULE_charFunction);
23243 int _la;
23244 try {
23245 enterOuterAlt(_localctx, 1);
23246 {
23247 setState(2273);
23248 match(CHAR);
23249 setState(2274);
23250 match(LP_);
23251 setState(2275);
23252 expr(0);
23253 setState(2280);
23254 _errHandler.sync(this);
23255 _la = _input.LA(1);
23256 while (_la==COMMA_) {
23257 {
23258 {
23259 setState(2276);
23260 match(COMMA_);
23261 setState(2277);
23262 expr(0);
23263 }
23264 }
23265 setState(2282);
23266 _errHandler.sync(this);
23267 _la = _input.LA(1);
23268 }
23269 setState(2285);
23270 _errHandler.sync(this);
23271 _la = _input.LA(1);
23272 if (_la==USING) {
23273 {
23274 setState(2283);
23275 match(USING);
23276 setState(2284);
23277 charsetName();
23278 }
23279 }
23280
23281 setState(2287);
23282 match(RP_);
23283 }
23284 }
23285 catch (RecognitionException re) {
23286 _localctx.exception = re;
23287 _errHandler.reportError(this, re);
23288 _errHandler.recover(this, re);
23289 }
23290 finally {
23291 exitRule();
23292 }
23293 return _localctx;
23294 }
23295
23296 public static class TrimFunctionContext extends ParserRuleContext {
23297 public TerminalNode TRIM() { return getToken(HiveStatementParser.TRIM, 0); }
23298 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
23299 public List<ExprContext> expr() {
23300 return getRuleContexts(ExprContext.class);
23301 }
23302 public ExprContext expr(int i) {
23303 return getRuleContext(ExprContext.class,i);
23304 }
23305 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
23306 public TerminalNode FROM() { return getToken(HiveStatementParser.FROM, 0); }
23307 public TerminalNode LEADING() { return getToken(HiveStatementParser.LEADING, 0); }
23308 public TerminalNode BOTH() { return getToken(HiveStatementParser.BOTH, 0); }
23309 public TerminalNode TRAILING() { return getToken(HiveStatementParser.TRAILING, 0); }
23310 public TrimFunctionContext(ParserRuleContext parent, int invokingState) {
23311 super(parent, invokingState);
23312 }
23313 @Override public int getRuleIndex() { return RULE_trimFunction; }
23314 @Override
23315 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23316 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTrimFunction(this);
23317 else return visitor.visitChildren(this);
23318 }
23319 }
23320
23321 public final TrimFunctionContext trimFunction() throws RecognitionException {
23322 TrimFunctionContext _localctx = new TrimFunctionContext(_ctx, getState());
23323 enterRule(_localctx, 394, RULE_trimFunction);
23324 int _la;
23325 try {
23326 setState(2311);
23327 _errHandler.sync(this);
23328 switch ( getInterpreter().adaptivePredict(_input,268,_ctx) ) {
23329 case 1:
23330 enterOuterAlt(_localctx, 1);
23331 {
23332 setState(2289);
23333 match(TRIM);
23334 setState(2290);
23335 match(LP_);
23336 setState(2296);
23337 _errHandler.sync(this);
23338 _la = _input.LA(1);
23339 if (_la==BOTH || _la==LEADING || _la==TRAILING) {
23340 {
23341 setState(2291);
23342 _la = _input.LA(1);
23343 if ( !(_la==BOTH || _la==LEADING || _la==TRAILING) ) {
23344 _errHandler.recoverInline(this);
23345 }
23346 else {
23347 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23348 _errHandler.reportMatch(this);
23349 consume();
23350 }
23351 setState(2293);
23352 _errHandler.sync(this);
23353 _la = _input.LA(1);
23354 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << AT_) | (1L << MAX) | (1L << MIN) | (1L << SUM) | (1L << COUNT) | (1L << GROUP_CONCAT) | (1L << CAST) | (1L << POSITION) | (1L << SUBSTRING) | (1L << SUBSTR) | (1L << EXTRACT) | (1L << TRIM) | (1L << LAST_DAY) | (1L << TRADITIONAL) | (1L << TREE) | (1L << MYSQL_MAIN) | (1L << MYSQL_ADMIN) | (1L << INSTANT))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (INPLACE - 64)) | (1L << (COPY - 64)) | (1L << (UL_BINARY - 64)) | (1L << (AUTOCOMMIT - 64)) | (1L << (INNODB - 64)) | (1L << (REDO_LOG - 64)) | (1L << (ACCOUNT - 64)) | (1L << (ACTION - 64)) | (1L << (ACTIVE - 64)) | (1L << (ADMIN - 64)) | (1L << (AFTER - 64)) | (1L << (AGAINST - 64)) | (1L << (AGGREGATE - 64)) | (1L << (ALGORITHM - 64)) | (1L << (ALWAYS - 64)) | (1L << (ANY - 64)) | (1L << (ARRAY - 64)) | (1L << (ASCII - 64)) | (1L << (AT - 64)) | (1L << (ATTRIBUTE - 64)) | (1L << (AUTOEXTEND_SIZE - 64)) | (1L << (AUTO_INCREMENT - 64)) | (1L << (AVG - 64)) | (1L << (BIT_XOR - 64)) | (1L << (AVG_ROW_LENGTH - 64)) | (1L << (BACKUP - 64)) | (1L << (BEGIN - 64)) | (1L << (BINARY - 64)) | (1L << (BINLOG - 64)) | (1L << (BIT - 64)) | (1L << (BLOCK - 64)) | (1L << (BOOL - 64)) | (1L << (BOOLEAN - 64)) | (1L << (BTREE - 64)) | (1L << (BUCKETS - 64)) | (1L << (BYTE - 64)) | (1L << (CACHE - 64)) | (1L << (CASCADED - 64)) | (1L << (CASE - 64)) | (1L << (CATALOG_NAME - 64)) | (1L << (CHAIN - 64)) | (1L << (CHANGED - 64)) | (1L << (CHANNEL - 64)))) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & ((1L << (CHAR - 128)) | (1L << (CHARSET - 128)) | (1L << (CHECKSUM - 128)) | (1L << (CIPHER - 128)) | (1L << (CLASS_ORIGIN - 128)) | (1L << (CLIENT - 128)) | (1L << (CLONE - 128)) | (1L << (CLOSE - 128)) | (1L << (COALESCE - 128)) | (1L << (CODE - 128)) | (1L << (COLLATION - 128)) | (1L << (COLUMNS - 128)) | (1L << (COLUMN_FORMAT - 128)) | (1L << (COLUMN_NAME - 128)) | (1L << (COMMENT - 128)) | (1L << (COMMIT - 128)) | (1L << (COMMITTED - 128)) | (1L << (COMPACT - 128)) | (1L << (COMPLETION - 128)) | (1L << (COMPONENT - 128)) | (1L << (COMPRESSED - 128)) | (1L << (COMPRESSION - 128)) | (1L << (CONCURRENT - 128)) | (1L << (CONNECTION - 128)) | (1L << (CONSISTENT - 128)) | (1L << (CONSTRAINT_CATALOG - 128)) | (1L << (CONSTRAINT_NAME - 128)) | (1L << (CONSTRAINT_SCHEMA - 128)) | (1L << (CONTAINS - 128)) | (1L << (CONTEXT - 128)) | (1L << (CONVERT - 128)) | (1L << (CPU - 128)) | (1L << (CREATE - 128)) | (1L << (CUME_DIST - 128)) | (1L << (CURRENT - 128)) | (1L << (CURRENT_DATE - 128)) | (1L << (CURRENT_TIME - 128)) | (1L << (CURRENT_TIMESTAMP - 128)) | (1L << (CURRENT_USER - 128)) | (1L << (CURSOR_NAME - 128)) | (1L << (DATA - 128)) | (1L << (DATABASE - 128)) | (1L << (DATAFILE - 128)) | (1L << (DATE - 128)) | (1L << (DATETIME - 128)) | (1L << (DAY - 128)) | (1L << (DAY_MINUTE - 128)) | (1L << (DEALLOCATE - 128)))) != 0) || ((((_la - 196)) & ~0x3f) == 0 && ((1L << (_la - 196)) & ((1L << (DEFAULT_AUTH - 196)) | (1L << (DEFINER - 196)) | (1L << (DEFINITION - 196)) | (1L << (DELAY_KEY_WRITE - 196)) | (1L << (DENSE_RANK - 196)) | (1L << (DESCRIPTION - 196)) | (1L << (DIAGNOSTICS - 196)) | (1L << (DIRECTORY - 196)) | (1L << (DISABLE - 196)) | (1L << (DISCARD - 196)) | (1L << (DISK - 196)) | (1L << (DO - 196)) | (1L << (DUMPFILE - 196)) | (1L << (DUPLICATE - 196)) | (1L << (DYNAMIC - 196)) | (1L << (ENABLE - 196)) | (1L << (ENCRYPTION - 196)) | (1L << (END - 196)) | (1L << (ENDS - 196)) | (1L << (ENFORCED - 196)) | (1L << (ENGINE - 196)) | (1L << (ENGINES - 196)) | (1L << (ENGINE_ATTRIBUTE - 196)) | (1L << (ENUM - 196)) | (1L << (ERROR - 196)) | (1L << (ERRORS - 196)) | (1L << (ESCAPE - 196)) | (1L << (EVENT - 196)) | (1L << (EVENTS - 196)) | (1L << (EVERY - 196)) | (1L << (EXCHANGE - 196)) | (1L << (EXCLUDE - 196)) | (1L << (EXECUTE - 196)) | (1L << (EXISTS - 196)) | (1L << (EXPANSION - 196)) | (1L << (EXPIRE - 196)) | (1L << (EXPORT - 196)) | (1L << (EXTENDED - 196)) | (1L << (EXTENT_SIZE - 196)) | (1L << (FAILED_LOGIN_ATTEMPTS - 196)) | (1L << (FALSE - 196)) | (1L << (FAST - 196)) | (1L << (FAULTS - 196)))) != 0) || ((((_la - 260)) & ~0x3f) == 0 && ((1L << (_la - 260)) & ((1L << (FILE - 260)) | (1L << (FILE_BLOCK_SIZE - 260)) | (1L << (FILTER - 260)) | (1L << (FIRST - 260)) | (1L << (FIRST_VALUE - 260)) | (1L << (FIXED - 260)) | (1L << (FLUSH - 260)) | (1L << (FOLLOWING - 260)) | (1L << (FOLLOWS - 260)) | (1L << (FORMAT - 260)) | (1L << (FOUND - 260)) | (1L << (FULL - 260)) | (1L << (GENERAL - 260)) | (1L << (GEOMETRY - 260)) | (1L << (GEOMETRYCOLLECTION - 260)) | (1L << (GET_FORMAT - 260)) | (1L << (GET_MASTER_PUBLIC_KEY - 260)) | (1L << (GLOBAL - 260)) | (1L << (GRANTS - 260)) | (1L << (GROUP_REPLICATION - 260)) | (1L << (HANDLER - 260)) | (1L << (HASH - 260)) | (1L << (HELP - 260)) | (1L << (HISTOGRAM - 260)) | (1L << (HISTORY - 260)) | (1L << (HOST - 260)) | (1L << (HOSTS - 260)) | (1L << (HOUR - 260)) | (1L << (IDENTIFIED - 260)) | (1L << (IF - 260)) | (1L << (IGNORE_SERVER_IDS - 260)) | (1L << (IMPORT - 260)) | (1L << (INACTIVE - 260)) | (1L << (INDEXES - 260)) | (1L << (INITIAL_SIZE - 260)))) != 0) || ((((_la - 326)) & ~0x3f) == 0 && ((1L << (_la - 326)) & ((1L << (INSERT - 326)) | (1L << (INSERT_METHOD - 326)) | (1L << (INSTALL - 326)) | (1L << (INSTANCE - 326)) | (1L << (INTERVAL - 326)) | (1L << (INVISIBLE - 326)) | (1L << (INVOKER - 326)) | (1L << (IO - 326)) | (1L << (IPC - 326)) | (1L << (ISOLATION - 326)) | (1L << (ISSUER - 326)) | (1L << (JSON - 326)) | (1L << (JSON_TABLE - 326)) | (1L << (JSON_VALUE - 326)) | (1L << (KEY - 326)) | (1L << (KEY_BLOCK_SIZE - 326)) | (1L << (LAG - 326)) | (1L << (LANGUAGE - 326)) | (1L << (LAST - 326)) | (1L << (LAST_VALUE - 326)) | (1L << (LEAD - 326)) | (1L << (LEAVES - 326)) | (1L << (LEFT - 326)) | (1L << (LESS - 326)) | (1L << (LEVEL - 326)) | (1L << (LINESTRING - 326)) | (1L << (LIST - 326)) | (1L << (LOCAL - 326)) | (1L << (LOCALTIME - 326)) | (1L << (LOCALTIMESTAMP - 326)) | (1L << (LOCKED - 326)) | (1L << (LOCKS - 326)) | (1L << (LOGFILE - 326)) | (1L << (LOGS - 326)))) != 0) || ((((_la - 391)) & ~0x3f) == 0 && ((1L << (_la - 391)) & ((1L << (MASTER - 391)) | (1L << (MASTER_AUTO_POSITION - 391)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 391)) | (1L << (MASTER_CONNECT_RETRY - 391)) | (1L << (MASTER_DELAY - 391)) | (1L << (MASTER_HEARTBEAT_PERIOD - 391)) | (1L << (MASTER_HOST - 391)) | (1L << (MASTER_LOG_FILE - 391)) | (1L << (MASTER_LOG_POS - 391)) | (1L << (MASTER_PASSWORD - 391)) | (1L << (MASTER_PORT - 391)) | (1L << (MASTER_PUBLIC_KEY_PATH - 391)) | (1L << (MASTER_RETRY_COUNT - 391)) | (1L << (MASTER_SERVER_ID - 391)) | (1L << (MASTER_SSL - 391)) | (1L << (MASTER_SSL_CA - 391)) | (1L << (MASTER_SSL_CAPATH - 391)) | (1L << (MASTER_SSL_CERT - 391)) | (1L << (MASTER_SSL_CIPHER - 391)) | (1L << (MASTER_SSL_CRL - 391)) | (1L << (MASTER_SSL_CRLPATH - 391)) | (1L << (MASTER_SSL_KEY - 391)) | (1L << (MASTER_TLS_CIPHERSUITES - 391)) | (1L << (MASTER_TLS_VERSION - 391)) | (1L << (MASTER_USER - 391)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 391)) | (1L << (MATCH - 391)) | (1L << (MAXVALUE - 391)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 391)) | (1L << (MAX_QUERIES_PER_HOUR - 391)) | (1L << (MAX_ROWS - 391)) | (1L << (MAX_SIZE - 391)) | (1L << (MAX_UPDATES_PER_HOUR - 391)) | (1L << (MAX_USER_CONNECTIONS - 391)) | (1L << (MEDIUM - 391)) | (1L << (MEMBER - 391)) | (1L << (MEMORY - 391)) | (1L << (MERGE - 391)) | (1L << (MESSAGE_TEXT - 391)) | (1L << (MICROSECOND - 391)) | (1L << (MIGRATE - 391)) | (1L << (MINUTE - 391)) | (1L << (MIN_ROWS - 391)) | (1L << (MOD - 391)) | (1L << (MODE - 391)) | (1L << (MODIFY - 391)) | (1L << (MONTH - 391)) | (1L << (MULTILINESTRING - 391)) | (1L << (MULTIPOINT - 391)) | (1L << (MULTIPOLYGON - 391)) | (1L << (MUTEX - 391)) | (1L << (MYSQL_ERRNO - 391)) | (1L << (NAME - 391)) | (1L << (NAMES - 391)) | (1L << (NATIONAL - 391)))) != 0) || ((((_la - 458)) & ~0x3f) == 0 && ((1L << (_la - 458)) & ((1L << (NCHAR - 458)) | (1L << (NDBCLUSTER - 458)) | (1L << (NESTED - 458)) | (1L << (NETWORK_NAMESPACE - 458)) | (1L << (NEVER - 458)) | (1L << (NEW - 458)) | (1L << (NEXT - 458)) | (1L << (NO - 458)) | (1L << (NODEGROUP - 458)) | (1L << (NONE - 458)) | (1L << (NOT - 458)) | (1L << (NOWAIT - 458)) | (1L << (NO_WAIT - 458)) | (1L << (NTH_VALUE - 458)) | (1L << (NTILE - 458)) | (1L << (NULL - 458)) | (1L << (NULLS - 458)) | (1L << (NUMBER - 458)) | (1L << (NVARCHAR - 458)) | (1L << (OFF - 458)) | (1L << (OFFSET - 458)) | (1L << (OJ - 458)) | (1L << (OLD - 458)) | (1L << (ONE - 458)) | (1L << (ONLY - 458)) | (1L << (OPEN - 458)) | (1L << (OPTIONAL - 458)) | (1L << (OPTIONS - 458)) | (1L << (ORDINALITY - 458)) | (1L << (ORGANIZATION - 458)) | (1L << (OTHERS - 458)) | (1L << (OWNER - 458)) | (1L << (PACK_KEYS - 458)) | (1L << (PAGE - 458)) | (1L << (PARSER - 458)) | (1L << (PARTIAL - 458)) | (1L << (PARTITIONING - 458)) | (1L << (PARTITIONS - 458)) | (1L << (PASSWORD - 458)) | (1L << (PASSWORD_LOCK_TIME - 458)) | (1L << (PATH - 458)) | (1L << (PERCENT_RANK - 458)) | (1L << (PERSIST - 458)) | (1L << (PERSIST_ONLY - 458)) | (1L << (PHASE - 458)) | (1L << (PLUGIN - 458)) | (1L << (PLUGINS - 458)))) != 0) || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (PLUGIN_DIR - 522)) | (1L << (POINT - 522)) | (1L << (POLYGON - 522)) | (1L << (PORT - 522)) | (1L << (PRECEDES - 522)) | (1L << (PRECEDING - 522)) | (1L << (PREPARE - 522)) | (1L << (PRESERVE - 522)) | (1L << (PREV - 522)) | (1L << (PRIMARY - 522)) | (1L << (PRIVILEGES - 522)) | (1L << (PRIVILEGE_CHECKS_USER - 522)) | (1L << (PROCESS - 522)) | (1L << (PROCESSLIST - 522)) | (1L << (PROFILE - 522)) | (1L << (PROFILES - 522)) | (1L << (PROXY - 522)) | (1L << (QUARTER - 522)) | (1L << (QUERY - 522)) | (1L << (QUICK - 522)) | (1L << (RANDOM - 522)) | (1L << (RANK - 522)) | (1L << (READ_ONLY - 522)) | (1L << (REBUILD - 522)) | (1L << (RECOVER - 522)) | (1L << (REDO_BUFFER_SIZE - 522)) | (1L << (REDUNDANT - 522)) | (1L << (REFERENCE - 522)) | (1L << (RELAY - 522)) | (1L << (RELAYLOG - 522)) | (1L << (RELAY_LOG_FILE - 522)) | (1L << (RELAY_LOG_POS - 522)) | (1L << (RELAY_THREAD - 522)) | (1L << (RELOAD - 522)) | (1L << (REMOVE - 522)) | (1L << (REORGANIZE - 522)) | (1L << (REPAIR - 522)) | (1L << (REPEAT - 522)) | (1L << (REPEATABLE - 522)) | (1L << (REPLACE - 522)) | (1L << (REPLICATE_DO_DB - 522)) | (1L << (REPLICATE_DO_TABLE - 522)) | (1L << (REPLICATE_IGNORE_DB - 522)) | (1L << (REPLICATE_IGNORE_TABLE - 522)) | (1L << (REPLICATE_REWRITE_DB - 522)) | (1L << (REPLICATE_WILD_DO_TABLE - 522)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 522)) | (1L << (REPLICATION - 522)))) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & ((1L << (REQUIRE_ROW_FORMAT - 586)) | (1L << (RESET - 586)) | (1L << (RESOURCE - 586)) | (1L << (RESPECT - 586)) | (1L << (RESTART - 586)) | (1L << (RESTORE - 586)) | (1L << (RESUME - 586)) | (1L << (RETAIN - 586)) | (1L << (RETURNED_SQLSTATE - 586)) | (1L << (RETURNING - 586)) | (1L << (RETURNS - 586)) | (1L << (REUSE - 586)) | (1L << (REVERSE - 586)) | (1L << (RIGHT - 586)) | (1L << (ROLE - 586)) | (1L << (ROLLBACK - 586)) | (1L << (ROLLUP - 586)) | (1L << (ROTATE - 586)) | (1L << (ROUTINE - 586)) | (1L << (ROW - 586)) | (1L << (ROW_COUNT - 586)) | (1L << (ROW_FORMAT - 586)) | (1L << (ROW_NUMBER - 586)) | (1L << (RTREE - 586)) | (1L << (SAVEPOINT - 586)) | (1L << (SCHEDULE - 586)) | (1L << (SCHEMA - 586)) | (1L << (SCHEMA_NAME - 586)) | (1L << (SECOND - 586)) | (1L << (SECONDARY - 586)) | (1L << (SECONDARY_ENGINE - 586)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 586)) | (1L << (SECONDARY_LOAD - 586)) | (1L << (SECONDARY_UNLOAD - 586)) | (1L << (SECURITY - 586)) | (1L << (SERIAL - 586)) | (1L << (SERIALIZABLE - 586)) | (1L << (SERVER - 586)) | (1L << (SESSION - 586)) | (1L << (SHARE - 586)) | (1L << (SHUTDOWN - 586)) | (1L << (SIGNED - 586)) | (1L << (SIMPLE - 586)) | (1L << (SLAVE - 586)) | (1L << (SLOW - 586)))) != 0) || ((((_la - 650)) & ~0x3f) == 0 && ((1L << (_la - 650)) & ((1L << (SNAPSHOT - 650)) | (1L << (SOCKET - 650)) | (1L << (SONAME - 650)) | (1L << (SOUNDS - 650)) | (1L << (SOURCE - 650)) | (1L << (SQL_AFTER_GTIDS - 650)) | (1L << (SQL_AFTER_MTS_GAPS - 650)) | (1L << (SQL_BEFORE_GTIDS - 650)) | (1L << (SQL_BUFFER_RESULT - 650)) | (1L << (SQL_NO_CACHE - 650)) | (1L << (SQL_THREAD - 650)) | (1L << (SRID - 650)) | (1L << (STACKED - 650)) | (1L << (START - 650)) | (1L << (STARTS - 650)) | (1L << (STATS_AUTO_RECALC - 650)) | (1L << (STATS_PERSISTENT - 650)) | (1L << (STATS_SAMPLE_PAGES - 650)) | (1L << (STATUS - 650)) | (1L << (STOP - 650)) | (1L << (STORAGE - 650)) | (1L << (STREAM - 650)) | (1L << (STRING - 650)) | (1L << (SUBCLASS_ORIGIN - 650)) | (1L << (SUBJECT - 650)) | (1L << (SUBPARTITION - 650)) | (1L << (SUBPARTITIONS - 650)) | (1L << (SUPER - 650)) | (1L << (SUSPEND - 650)) | (1L << (SWAPS - 650)) | (1L << (SWITCHES - 650)) | (1L << (SYSTEM - 650)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (TABLE - 722)) | (1L << (TABLES - 722)) | (1L << (TABLESPACE - 722)) | (1L << (TABLE_CHECKSUM - 722)) | (1L << (TABLE_NAME - 722)) | (1L << (TEMPORARY - 722)) | (1L << (TEMPTABLE - 722)) | (1L << (TEXT - 722)) | (1L << (THAN - 722)) | (1L << (THREAD_PRIORITY - 722)) | (1L << (TIES - 722)) | (1L << (TIME - 722)) | (1L << (TIMESTAMP - 722)) | (1L << (TIMESTAMP_ADD - 722)) | (1L << (TIMESTAMP_DIFF - 722)) | (1L << (TLS - 722)) | (1L << (TRANSACTION - 722)) | (1L << (TRIGGERS - 722)) | (1L << (TRUE - 722)) | (1L << (TRUNCATE - 722)) | (1L << (TYPE - 722)) | (1L << (TYPES - 722)) | (1L << (UNBOUNDED - 722)) | (1L << (UNCOMMITTED - 722)) | (1L << (UNDEFINED - 722)) | (1L << (UNDOFILE - 722)) | (1L << (UNDO_BUFFER_SIZE - 722)) | (1L << (UNICODE - 722)) | (1L << (UNINSTALL - 722)) | (1L << (UNKNOWN - 722)) | (1L << (UNTIL - 722)) | (1L << (UPGRADE - 722)) | (1L << (USER - 722)) | (1L << (USER_RESOURCES - 722)) | (1L << (USE_FRM - 722)) | (1L << (UTC_DATE - 722)) | (1L << (UTC_TIME - 722)) | (1L << (UTC_TIMESTAMP - 722)) | (1L << (VALIDATION - 722)) | (1L << (VALUE - 722)) | (1L << (VALUES - 722)) | (1L << (VARIABLES - 722)))) != 0) || ((((_la - 787)) & ~0x3f) == 0 && ((1L << (_la - 787)) & ((1L << (VCPU - 787)) | (1L << (VIEW - 787)) | (1L << (VISIBLE - 787)) | (1L << (WAIT - 787)) | (1L << (WARNINGS - 787)) | (1L << (WEEK - 787)) | (1L << (WEIGHT_STRING - 787)) | (1L << (WITHOUT - 787)) | (1L << (WORK - 787)) | (1L << (WRAPPER - 787)) | (1L << (X509 - 787)) | (1L << (XA - 787)) | (1L << (XID - 787)) | (1L << (XML - 787)) | (1L << (YEAR - 787)) | (1L << (YEAR_MONTH - 787)) | (1L << (JSON_ARRAY - 787)) | (1L << (JSON_ARRAY_APPEND - 787)) | (1L << (JSON_ARRAY_INSERT - 787)) | (1L << (JSON_CONTAINS - 787)) | (1L << (JSON_CONTAINS_PATH - 787)) | (1L << (JSON_DEPTH - 787)) | (1L << (JSON_EXTRACT - 787)) | (1L << (JSON_INSERT - 787)) | (1L << (JSON_KEYS - 787)) | (1L << (JSON_LENGTH - 787)) | (1L << (JSON_MERGE - 787)) | (1L << (JSON_MERGE_PATCH - 787)) | (1L << (JSON_MERGE_PRESERVE - 787)) | (1L << (JSON_OBJECT - 787)) | (1L << (JSON_OVERLAPS - 787)) | (1L << (JSON_PRETTY - 787)) | (1L << (JSON_QUOTE - 787)) | (1L << (JSON_REMOVE - 787)) | (1L << (JSON_REPLACE - 787)) | (1L << (JSON_SCHEMA_VALID - 787)) | (1L << (JSON_SCHEMA_VALIDATION_REPORT - 787)) | (1L << (JSON_SEARCH - 787)) | (1L << (JSON_SET - 787)) | (1L << (JSON_STORAGE_FREE - 787)) | (1L << (JSON_STORAGE_SIZE - 787)) | (1L << (JSON_TYPE - 787)) | (1L << (JSON_UNQUOTE - 787)) | (1L << (JSON_VALID - 787)) | (1L << (SINGLE_QUOTED_TEXT - 787)) | (1L << (DOUBLE_QUOTED_TEXT - 787)) | (1L << (BQUOTA_STRING - 787)) | (1L << (NCHAR_TEXT - 787)) | (1L << (UNDERSCORE_CHARSET - 787)) | (1L << (NUMBER_ - 787)))) != 0) || ((((_la - 851)) & ~0x3f) == 0 && ((1L << (_la - 851)) & ((1L << (HEX_DIGIT_ - 851)) | (1L << (BIT_NUM_ - 851)) | (1L << (IDENTIFIER_ - 851)) | (1L << (IP_ADDRESS - 851)))) != 0)) {
23355 {
23356 setState(2292);
23357 expr(0);
23358 }
23359 }
23360
23361 setState(2295);
23362 match(FROM);
23363 }
23364 }
23365
23366 setState(2298);
23367 expr(0);
23368 setState(2299);
23369 match(RP_);
23370 }
23371 break;
23372 case 2:
23373 enterOuterAlt(_localctx, 2);
23374 {
23375 setState(2301);
23376 match(TRIM);
23377 setState(2302);
23378 match(LP_);
23379 setState(2306);
23380 _errHandler.sync(this);
23381 switch ( getInterpreter().adaptivePredict(_input,267,_ctx) ) {
23382 case 1:
23383 {
23384 setState(2303);
23385 expr(0);
23386 setState(2304);
23387 match(FROM);
23388 }
23389 break;
23390 }
23391 setState(2308);
23392 expr(0);
23393 setState(2309);
23394 match(RP_);
23395 }
23396 break;
23397 }
23398 }
23399 catch (RecognitionException re) {
23400 _localctx.exception = re;
23401 _errHandler.reportError(this, re);
23402 _errHandler.recover(this, re);
23403 }
23404 finally {
23405 exitRule();
23406 }
23407 return _localctx;
23408 }
23409
23410 public static class ValuesFunctionContext extends ParserRuleContext {
23411 public TerminalNode VALUES() { return getToken(HiveStatementParser.VALUES, 0); }
23412 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
23413 public ColumnRefListContext columnRefList() {
23414 return getRuleContext(ColumnRefListContext.class,0);
23415 }
23416 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
23417 public ValuesFunctionContext(ParserRuleContext parent, int invokingState) {
23418 super(parent, invokingState);
23419 }
23420 @Override public int getRuleIndex() { return RULE_valuesFunction; }
23421 @Override
23422 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23423 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitValuesFunction(this);
23424 else return visitor.visitChildren(this);
23425 }
23426 }
23427
23428 public final ValuesFunctionContext valuesFunction() throws RecognitionException {
23429 ValuesFunctionContext _localctx = new ValuesFunctionContext(_ctx, getState());
23430 enterRule(_localctx, 396, RULE_valuesFunction);
23431 try {
23432 enterOuterAlt(_localctx, 1);
23433 {
23434 setState(2313);
23435 match(VALUES);
23436 setState(2314);
23437 match(LP_);
23438 setState(2315);
23439 columnRefList();
23440 setState(2316);
23441 match(RP_);
23442 }
23443 }
23444 catch (RecognitionException re) {
23445 _localctx.exception = re;
23446 _errHandler.reportError(this, re);
23447 _errHandler.recover(this, re);
23448 }
23449 finally {
23450 exitRule();
23451 }
23452 return _localctx;
23453 }
23454
23455 public static class WeightStringFunctionContext extends ParserRuleContext {
23456 public TerminalNode WEIGHT_STRING() { return getToken(HiveStatementParser.WEIGHT_STRING, 0); }
23457 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
23458 public ExprContext expr() {
23459 return getRuleContext(ExprContext.class,0);
23460 }
23461 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
23462 public TerminalNode AS() { return getToken(HiveStatementParser.AS, 0); }
23463 public DataTypeContext dataType() {
23464 return getRuleContext(DataTypeContext.class,0);
23465 }
23466 public LevelClauseContext levelClause() {
23467 return getRuleContext(LevelClauseContext.class,0);
23468 }
23469 public WeightStringFunctionContext(ParserRuleContext parent, int invokingState) {
23470 super(parent, invokingState);
23471 }
23472 @Override public int getRuleIndex() { return RULE_weightStringFunction; }
23473 @Override
23474 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23475 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitWeightStringFunction(this);
23476 else return visitor.visitChildren(this);
23477 }
23478 }
23479
23480 public final WeightStringFunctionContext weightStringFunction() throws RecognitionException {
23481 WeightStringFunctionContext _localctx = new WeightStringFunctionContext(_ctx, getState());
23482 enterRule(_localctx, 398, RULE_weightStringFunction);
23483 int _la;
23484 try {
23485 enterOuterAlt(_localctx, 1);
23486 {
23487 setState(2318);
23488 match(WEIGHT_STRING);
23489 setState(2319);
23490 match(LP_);
23491 setState(2320);
23492 expr(0);
23493 setState(2323);
23494 _errHandler.sync(this);
23495 _la = _input.LA(1);
23496 if (_la==AS) {
23497 {
23498 setState(2321);
23499 match(AS);
23500 setState(2322);
23501 dataType();
23502 }
23503 }
23504
23505 setState(2326);
23506 _errHandler.sync(this);
23507 _la = _input.LA(1);
23508 if (_la==LEVEL) {
23509 {
23510 setState(2325);
23511 levelClause();
23512 }
23513 }
23514
23515 setState(2328);
23516 match(RP_);
23517 }
23518 }
23519 catch (RecognitionException re) {
23520 _localctx.exception = re;
23521 _errHandler.reportError(this, re);
23522 _errHandler.recover(this, re);
23523 }
23524 finally {
23525 exitRule();
23526 }
23527 return _localctx;
23528 }
23529
23530 public static class LevelClauseContext extends ParserRuleContext {
23531 public TerminalNode LEVEL() { return getToken(HiveStatementParser.LEVEL, 0); }
23532 public List<LevelInWeightListElementContext> levelInWeightListElement() {
23533 return getRuleContexts(LevelInWeightListElementContext.class);
23534 }
23535 public LevelInWeightListElementContext levelInWeightListElement(int i) {
23536 return getRuleContext(LevelInWeightListElementContext.class,i);
23537 }
23538 public List<TerminalNode> NUMBER_() { return getTokens(HiveStatementParser.NUMBER_); }
23539 public TerminalNode NUMBER_(int i) {
23540 return getToken(HiveStatementParser.NUMBER_, i);
23541 }
23542 public TerminalNode MINUS_() { return getToken(HiveStatementParser.MINUS_, 0); }
23543 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
23544 public TerminalNode COMMA_(int i) {
23545 return getToken(HiveStatementParser.COMMA_, i);
23546 }
23547 public LevelClauseContext(ParserRuleContext parent, int invokingState) {
23548 super(parent, invokingState);
23549 }
23550 @Override public int getRuleIndex() { return RULE_levelClause; }
23551 @Override
23552 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23553 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLevelClause(this);
23554 else return visitor.visitChildren(this);
23555 }
23556 }
23557
23558 public final LevelClauseContext levelClause() throws RecognitionException {
23559 LevelClauseContext _localctx = new LevelClauseContext(_ctx, getState());
23560 enterRule(_localctx, 400, RULE_levelClause);
23561 int _la;
23562 try {
23563 enterOuterAlt(_localctx, 1);
23564 {
23565 setState(2330);
23566 match(LEVEL);
23567 setState(2342);
23568 _errHandler.sync(this);
23569 switch ( getInterpreter().adaptivePredict(_input,272,_ctx) ) {
23570 case 1:
23571 {
23572 setState(2331);
23573 levelInWeightListElement();
23574 setState(2336);
23575 _errHandler.sync(this);
23576 _la = _input.LA(1);
23577 while (_la==COMMA_) {
23578 {
23579 {
23580 setState(2332);
23581 match(COMMA_);
23582 setState(2333);
23583 levelInWeightListElement();
23584 }
23585 }
23586 setState(2338);
23587 _errHandler.sync(this);
23588 _la = _input.LA(1);
23589 }
23590 }
23591 break;
23592 case 2:
23593 {
23594 setState(2339);
23595 match(NUMBER_);
23596 setState(2340);
23597 match(MINUS_);
23598 setState(2341);
23599 match(NUMBER_);
23600 }
23601 break;
23602 }
23603 }
23604 }
23605 catch (RecognitionException re) {
23606 _localctx.exception = re;
23607 _errHandler.reportError(this, re);
23608 _errHandler.recover(this, re);
23609 }
23610 finally {
23611 exitRule();
23612 }
23613 return _localctx;
23614 }
23615
23616 public static class LevelInWeightListElementContext extends ParserRuleContext {
23617 public TerminalNode NUMBER_() { return getToken(HiveStatementParser.NUMBER_, 0); }
23618 public DirectionContext direction() {
23619 return getRuleContext(DirectionContext.class,0);
23620 }
23621 public TerminalNode REVERSE() { return getToken(HiveStatementParser.REVERSE, 0); }
23622 public LevelInWeightListElementContext(ParserRuleContext parent, int invokingState) {
23623 super(parent, invokingState);
23624 }
23625 @Override public int getRuleIndex() { return RULE_levelInWeightListElement; }
23626 @Override
23627 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23628 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLevelInWeightListElement(this);
23629 else return visitor.visitChildren(this);
23630 }
23631 }
23632
23633 public final LevelInWeightListElementContext levelInWeightListElement() throws RecognitionException {
23634 LevelInWeightListElementContext _localctx = new LevelInWeightListElementContext(_ctx, getState());
23635 enterRule(_localctx, 402, RULE_levelInWeightListElement);
23636 int _la;
23637 try {
23638 enterOuterAlt(_localctx, 1);
23639 {
23640 setState(2344);
23641 match(NUMBER_);
23642 setState(2346);
23643 _errHandler.sync(this);
23644 _la = _input.LA(1);
23645 if (_la==ASC || _la==DESC) {
23646 {
23647 setState(2345);
23648 direction();
23649 }
23650 }
23651
23652 setState(2349);
23653 _errHandler.sync(this);
23654 _la = _input.LA(1);
23655 if (_la==REVERSE) {
23656 {
23657 setState(2348);
23658 match(REVERSE);
23659 }
23660 }
23661
23662 }
23663 }
23664 catch (RecognitionException re) {
23665 _localctx.exception = re;
23666 _errHandler.reportError(this, re);
23667 _errHandler.recover(this, re);
23668 }
23669 finally {
23670 exitRule();
23671 }
23672 return _localctx;
23673 }
23674
23675 public static class RegularFunctionContext extends ParserRuleContext {
23676 public CompleteRegularFunctionContext completeRegularFunction() {
23677 return getRuleContext(CompleteRegularFunctionContext.class,0);
23678 }
23679 public ShorthandRegularFunctionContext shorthandRegularFunction() {
23680 return getRuleContext(ShorthandRegularFunctionContext.class,0);
23681 }
23682 public RegularFunctionContext(ParserRuleContext parent, int invokingState) {
23683 super(parent, invokingState);
23684 }
23685 @Override public int getRuleIndex() { return RULE_regularFunction; }
23686 @Override
23687 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23688 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitRegularFunction(this);
23689 else return visitor.visitChildren(this);
23690 }
23691 }
23692
23693 public final RegularFunctionContext regularFunction() throws RecognitionException {
23694 RegularFunctionContext _localctx = new RegularFunctionContext(_ctx, getState());
23695 enterRule(_localctx, 404, RULE_regularFunction);
23696 try {
23697 setState(2353);
23698 _errHandler.sync(this);
23699 switch ( getInterpreter().adaptivePredict(_input,275,_ctx) ) {
23700 case 1:
23701 enterOuterAlt(_localctx, 1);
23702 {
23703 setState(2351);
23704 completeRegularFunction();
23705 }
23706 break;
23707 case 2:
23708 enterOuterAlt(_localctx, 2);
23709 {
23710 setState(2352);
23711 shorthandRegularFunction();
23712 }
23713 break;
23714 }
23715 }
23716 catch (RecognitionException re) {
23717 _localctx.exception = re;
23718 _errHandler.reportError(this, re);
23719 _errHandler.recover(this, re);
23720 }
23721 finally {
23722 exitRule();
23723 }
23724 return _localctx;
23725 }
23726
23727 public static class ShorthandRegularFunctionContext extends ParserRuleContext {
23728 public TerminalNode CURRENT_DATE() { return getToken(HiveStatementParser.CURRENT_DATE, 0); }
23729 public TerminalNode CURRENT_TIME() { return getToken(HiveStatementParser.CURRENT_TIME, 0); }
23730 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
23731 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
23732 public TerminalNode NUMBER_() { return getToken(HiveStatementParser.NUMBER_, 0); }
23733 public TerminalNode CURRENT_TIMESTAMP() { return getToken(HiveStatementParser.CURRENT_TIMESTAMP, 0); }
23734 public TerminalNode LAST_DAY() { return getToken(HiveStatementParser.LAST_DAY, 0); }
23735 public TerminalNode LOCALTIME() { return getToken(HiveStatementParser.LOCALTIME, 0); }
23736 public TerminalNode LOCALTIMESTAMP() { return getToken(HiveStatementParser.LOCALTIMESTAMP, 0); }
23737 public ShorthandRegularFunctionContext(ParserRuleContext parent, int invokingState) {
23738 super(parent, invokingState);
23739 }
23740 @Override public int getRuleIndex() { return RULE_shorthandRegularFunction; }
23741 @Override
23742 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23743 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitShorthandRegularFunction(this);
23744 else return visitor.visitChildren(this);
23745 }
23746 }
23747
23748 public final ShorthandRegularFunctionContext shorthandRegularFunction() throws RecognitionException {
23749 ShorthandRegularFunctionContext _localctx = new ShorthandRegularFunctionContext(_ctx, getState());
23750 enterRule(_localctx, 406, RULE_shorthandRegularFunction);
23751 int _la;
23752 try {
23753 setState(2368);
23754 _errHandler.sync(this);
23755 switch (_input.LA(1)) {
23756 case CURRENT_DATE:
23757 enterOuterAlt(_localctx, 1);
23758 {
23759 setState(2355);
23760 match(CURRENT_DATE);
23761 }
23762 break;
23763 case CURRENT_TIME:
23764 enterOuterAlt(_localctx, 2);
23765 {
23766 setState(2356);
23767 match(CURRENT_TIME);
23768 setState(2362);
23769 _errHandler.sync(this);
23770 switch ( getInterpreter().adaptivePredict(_input,277,_ctx) ) {
23771 case 1:
23772 {
23773 setState(2357);
23774 match(LP_);
23775 setState(2359);
23776 _errHandler.sync(this);
23777 _la = _input.LA(1);
23778 if (_la==NUMBER_) {
23779 {
23780 setState(2358);
23781 match(NUMBER_);
23782 }
23783 }
23784
23785 setState(2361);
23786 match(RP_);
23787 }
23788 break;
23789 }
23790 }
23791 break;
23792 case CURRENT_TIMESTAMP:
23793 enterOuterAlt(_localctx, 3);
23794 {
23795 setState(2364);
23796 match(CURRENT_TIMESTAMP);
23797 }
23798 break;
23799 case LAST_DAY:
23800 enterOuterAlt(_localctx, 4);
23801 {
23802 setState(2365);
23803 match(LAST_DAY);
23804 }
23805 break;
23806 case LOCALTIME:
23807 enterOuterAlt(_localctx, 5);
23808 {
23809 setState(2366);
23810 match(LOCALTIME);
23811 }
23812 break;
23813 case LOCALTIMESTAMP:
23814 enterOuterAlt(_localctx, 6);
23815 {
23816 setState(2367);
23817 match(LOCALTIMESTAMP);
23818 }
23819 break;
23820 default:
23821 throw new NoViableAltException(this);
23822 }
23823 }
23824 catch (RecognitionException re) {
23825 _localctx.exception = re;
23826 _errHandler.reportError(this, re);
23827 _errHandler.recover(this, re);
23828 }
23829 finally {
23830 exitRule();
23831 }
23832 return _localctx;
23833 }
23834
23835 public static class CompleteRegularFunctionContext extends ParserRuleContext {
23836 public RegularFunctionNameContext regularFunctionName() {
23837 return getRuleContext(RegularFunctionNameContext.class,0);
23838 }
23839 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
23840 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
23841 public List<ExprContext> expr() {
23842 return getRuleContexts(ExprContext.class);
23843 }
23844 public ExprContext expr(int i) {
23845 return getRuleContext(ExprContext.class,i);
23846 }
23847 public TerminalNode ASTERISK_() { return getToken(HiveStatementParser.ASTERISK_, 0); }
23848 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
23849 public TerminalNode COMMA_(int i) {
23850 return getToken(HiveStatementParser.COMMA_, i);
23851 }
23852 public CompleteRegularFunctionContext(ParserRuleContext parent, int invokingState) {
23853 super(parent, invokingState);
23854 }
23855 @Override public int getRuleIndex() { return RULE_completeRegularFunction; }
23856 @Override
23857 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23858 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCompleteRegularFunction(this);
23859 else return visitor.visitChildren(this);
23860 }
23861 }
23862
23863 public final CompleteRegularFunctionContext completeRegularFunction() throws RecognitionException {
23864 CompleteRegularFunctionContext _localctx = new CompleteRegularFunctionContext(_ctx, getState());
23865 enterRule(_localctx, 408, RULE_completeRegularFunction);
23866 int _la;
23867 try {
23868 enterOuterAlt(_localctx, 1);
23869 {
23870 setState(2370);
23871 regularFunctionName();
23872 {
23873 setState(2371);
23874 match(LP_);
23875 setState(2381);
23876 _errHandler.sync(this);
23877 switch (_input.LA(1)) {
23878 case NOT_:
23879 case TILDE_:
23880 case PLUS_:
23881 case MINUS_:
23882 case LP_:
23883 case LBE_:
23884 case QUESTION_:
23885 case AT_:
23886 case MAX:
23887 case MIN:
23888 case SUM:
23889 case COUNT:
23890 case GROUP_CONCAT:
23891 case CAST:
23892 case POSITION:
23893 case SUBSTRING:
23894 case SUBSTR:
23895 case EXTRACT:
23896 case TRIM:
23897 case LAST_DAY:
23898 case TRADITIONAL:
23899 case TREE:
23900 case MYSQL_MAIN:
23901 case MYSQL_ADMIN:
23902 case INSTANT:
23903 case INPLACE:
23904 case COPY:
23905 case UL_BINARY:
23906 case AUTOCOMMIT:
23907 case INNODB:
23908 case REDO_LOG:
23909 case ACCOUNT:
23910 case ACTION:
23911 case ACTIVE:
23912 case ADMIN:
23913 case AFTER:
23914 case AGAINST:
23915 case AGGREGATE:
23916 case ALGORITHM:
23917 case ALWAYS:
23918 case ANY:
23919 case ARRAY:
23920 case ASCII:
23921 case AT:
23922 case ATTRIBUTE:
23923 case AUTOEXTEND_SIZE:
23924 case AUTO_INCREMENT:
23925 case AVG:
23926 case BIT_XOR:
23927 case AVG_ROW_LENGTH:
23928 case BACKUP:
23929 case BEGIN:
23930 case BINARY:
23931 case BINLOG:
23932 case BIT:
23933 case BLOCK:
23934 case BOOL:
23935 case BOOLEAN:
23936 case BTREE:
23937 case BUCKETS:
23938 case BYTE:
23939 case CACHE:
23940 case CASCADED:
23941 case CASE:
23942 case CATALOG_NAME:
23943 case CHAIN:
23944 case CHANGED:
23945 case CHANNEL:
23946 case CHAR:
23947 case CHARSET:
23948 case CHECKSUM:
23949 case CIPHER:
23950 case CLASS_ORIGIN:
23951 case CLIENT:
23952 case CLONE:
23953 case CLOSE:
23954 case COALESCE:
23955 case CODE:
23956 case COLLATION:
23957 case COLUMNS:
23958 case COLUMN_FORMAT:
23959 case COLUMN_NAME:
23960 case COMMENT:
23961 case COMMIT:
23962 case COMMITTED:
23963 case COMPACT:
23964 case COMPLETION:
23965 case COMPONENT:
23966 case COMPRESSED:
23967 case COMPRESSION:
23968 case CONCURRENT:
23969 case CONNECTION:
23970 case CONSISTENT:
23971 case CONSTRAINT_CATALOG:
23972 case CONSTRAINT_NAME:
23973 case CONSTRAINT_SCHEMA:
23974 case CONTAINS:
23975 case CONTEXT:
23976 case CONVERT:
23977 case CPU:
23978 case CREATE:
23979 case CUME_DIST:
23980 case CURRENT:
23981 case CURRENT_DATE:
23982 case CURRENT_TIME:
23983 case CURRENT_TIMESTAMP:
23984 case CURRENT_USER:
23985 case CURSOR_NAME:
23986 case DATA:
23987 case DATABASE:
23988 case DATAFILE:
23989 case DATE:
23990 case DATETIME:
23991 case DAY:
23992 case DAY_MINUTE:
23993 case DEALLOCATE:
23994 case DEFAULT_AUTH:
23995 case DEFINER:
23996 case DEFINITION:
23997 case DELAY_KEY_WRITE:
23998 case DENSE_RANK:
23999 case DESCRIPTION:
24000 case DIAGNOSTICS:
24001 case DIRECTORY:
24002 case DISABLE:
24003 case DISCARD:
24004 case DISK:
24005 case DO:
24006 case DUMPFILE:
24007 case DUPLICATE:
24008 case DYNAMIC:
24009 case ENABLE:
24010 case ENCRYPTION:
24011 case END:
24012 case ENDS:
24013 case ENFORCED:
24014 case ENGINE:
24015 case ENGINES:
24016 case ENGINE_ATTRIBUTE:
24017 case ENUM:
24018 case ERROR:
24019 case ERRORS:
24020 case ESCAPE:
24021 case EVENT:
24022 case EVENTS:
24023 case EVERY:
24024 case EXCHANGE:
24025 case EXCLUDE:
24026 case EXECUTE:
24027 case EXISTS:
24028 case EXPANSION:
24029 case EXPIRE:
24030 case EXPORT:
24031 case EXTENDED:
24032 case EXTENT_SIZE:
24033 case FAILED_LOGIN_ATTEMPTS:
24034 case FALSE:
24035 case FAST:
24036 case FAULTS:
24037 case FILE:
24038 case FILE_BLOCK_SIZE:
24039 case FILTER:
24040 case FIRST:
24041 case FIRST_VALUE:
24042 case FIXED:
24043 case FLUSH:
24044 case FOLLOWING:
24045 case FOLLOWS:
24046 case FORMAT:
24047 case FOUND:
24048 case FULL:
24049 case GENERAL:
24050 case GEOMETRY:
24051 case GEOMETRYCOLLECTION:
24052 case GET_FORMAT:
24053 case GET_MASTER_PUBLIC_KEY:
24054 case GLOBAL:
24055 case GRANTS:
24056 case GROUP_REPLICATION:
24057 case HANDLER:
24058 case HASH:
24059 case HELP:
24060 case HISTOGRAM:
24061 case HISTORY:
24062 case HOST:
24063 case HOSTS:
24064 case HOUR:
24065 case IDENTIFIED:
24066 case IF:
24067 case IGNORE_SERVER_IDS:
24068 case IMPORT:
24069 case INACTIVE:
24070 case INDEXES:
24071 case INITIAL_SIZE:
24072 case INSERT:
24073 case INSERT_METHOD:
24074 case INSTALL:
24075 case INSTANCE:
24076 case INTERVAL:
24077 case INVISIBLE:
24078 case INVOKER:
24079 case IO:
24080 case IPC:
24081 case ISOLATION:
24082 case ISSUER:
24083 case JSON:
24084 case JSON_TABLE:
24085 case JSON_VALUE:
24086 case KEY:
24087 case KEY_BLOCK_SIZE:
24088 case LAG:
24089 case LANGUAGE:
24090 case LAST:
24091 case LAST_VALUE:
24092 case LEAD:
24093 case LEAVES:
24094 case LEFT:
24095 case LESS:
24096 case LEVEL:
24097 case LINESTRING:
24098 case LIST:
24099 case LOCAL:
24100 case LOCALTIME:
24101 case LOCALTIMESTAMP:
24102 case LOCKED:
24103 case LOCKS:
24104 case LOGFILE:
24105 case LOGS:
24106 case MASTER:
24107 case MASTER_AUTO_POSITION:
24108 case MASTER_COMPRESSION_ALGORITHM:
24109 case MASTER_CONNECT_RETRY:
24110 case MASTER_DELAY:
24111 case MASTER_HEARTBEAT_PERIOD:
24112 case MASTER_HOST:
24113 case MASTER_LOG_FILE:
24114 case MASTER_LOG_POS:
24115 case MASTER_PASSWORD:
24116 case MASTER_PORT:
24117 case MASTER_PUBLIC_KEY_PATH:
24118 case MASTER_RETRY_COUNT:
24119 case MASTER_SERVER_ID:
24120 case MASTER_SSL:
24121 case MASTER_SSL_CA:
24122 case MASTER_SSL_CAPATH:
24123 case MASTER_SSL_CERT:
24124 case MASTER_SSL_CIPHER:
24125 case MASTER_SSL_CRL:
24126 case MASTER_SSL_CRLPATH:
24127 case MASTER_SSL_KEY:
24128 case MASTER_TLS_CIPHERSUITES:
24129 case MASTER_TLS_VERSION:
24130 case MASTER_USER:
24131 case MASTER_ZSTD_COMPRESSION_LEVEL:
24132 case MATCH:
24133 case MAXVALUE:
24134 case MAX_CONNECTIONS_PER_HOUR:
24135 case MAX_QUERIES_PER_HOUR:
24136 case MAX_ROWS:
24137 case MAX_SIZE:
24138 case MAX_UPDATES_PER_HOUR:
24139 case MAX_USER_CONNECTIONS:
24140 case MEDIUM:
24141 case MEMBER:
24142 case MEMORY:
24143 case MERGE:
24144 case MESSAGE_TEXT:
24145 case MICROSECOND:
24146 case MIGRATE:
24147 case MINUTE:
24148 case MIN_ROWS:
24149 case MOD:
24150 case MODE:
24151 case MODIFY:
24152 case MONTH:
24153 case MULTILINESTRING:
24154 case MULTIPOINT:
24155 case MULTIPOLYGON:
24156 case MUTEX:
24157 case MYSQL_ERRNO:
24158 case NAME:
24159 case NAMES:
24160 case NATIONAL:
24161 case NCHAR:
24162 case NDBCLUSTER:
24163 case NESTED:
24164 case NETWORK_NAMESPACE:
24165 case NEVER:
24166 case NEW:
24167 case NEXT:
24168 case NO:
24169 case NODEGROUP:
24170 case NONE:
24171 case NOT:
24172 case NOWAIT:
24173 case NO_WAIT:
24174 case NTH_VALUE:
24175 case NTILE:
24176 case NULL:
24177 case NULLS:
24178 case NUMBER:
24179 case NVARCHAR:
24180 case OFF:
24181 case OFFSET:
24182 case OJ:
24183 case OLD:
24184 case ONE:
24185 case ONLY:
24186 case OPEN:
24187 case OPTIONAL:
24188 case OPTIONS:
24189 case ORDINALITY:
24190 case ORGANIZATION:
24191 case OTHERS:
24192 case OWNER:
24193 case PACK_KEYS:
24194 case PAGE:
24195 case PARSER:
24196 case PARTIAL:
24197 case PARTITIONING:
24198 case PARTITIONS:
24199 case PASSWORD:
24200 case PASSWORD_LOCK_TIME:
24201 case PATH:
24202 case PERCENT_RANK:
24203 case PERSIST:
24204 case PERSIST_ONLY:
24205 case PHASE:
24206 case PLUGIN:
24207 case PLUGINS:
24208 case PLUGIN_DIR:
24209 case POINT:
24210 case POLYGON:
24211 case PORT:
24212 case PRECEDES:
24213 case PRECEDING:
24214 case PREPARE:
24215 case PRESERVE:
24216 case PREV:
24217 case PRIMARY:
24218 case PRIVILEGES:
24219 case PRIVILEGE_CHECKS_USER:
24220 case PROCESS:
24221 case PROCESSLIST:
24222 case PROFILE:
24223 case PROFILES:
24224 case PROXY:
24225 case QUARTER:
24226 case QUERY:
24227 case QUICK:
24228 case RANDOM:
24229 case RANK:
24230 case READ_ONLY:
24231 case REBUILD:
24232 case RECOVER:
24233 case REDO_BUFFER_SIZE:
24234 case REDUNDANT:
24235 case REFERENCE:
24236 case RELAY:
24237 case RELAYLOG:
24238 case RELAY_LOG_FILE:
24239 case RELAY_LOG_POS:
24240 case RELAY_THREAD:
24241 case RELOAD:
24242 case REMOVE:
24243 case REORGANIZE:
24244 case REPAIR:
24245 case REPEAT:
24246 case REPEATABLE:
24247 case REPLACE:
24248 case REPLICATE_DO_DB:
24249 case REPLICATE_DO_TABLE:
24250 case REPLICATE_IGNORE_DB:
24251 case REPLICATE_IGNORE_TABLE:
24252 case REPLICATE_REWRITE_DB:
24253 case REPLICATE_WILD_DO_TABLE:
24254 case REPLICATE_WILD_IGNORE_TABLE:
24255 case REPLICATION:
24256 case REQUIRE_ROW_FORMAT:
24257 case RESET:
24258 case RESOURCE:
24259 case RESPECT:
24260 case RESTART:
24261 case RESTORE:
24262 case RESUME:
24263 case RETAIN:
24264 case RETURNED_SQLSTATE:
24265 case RETURNING:
24266 case RETURNS:
24267 case REUSE:
24268 case REVERSE:
24269 case RIGHT:
24270 case ROLE:
24271 case ROLLBACK:
24272 case ROLLUP:
24273 case ROTATE:
24274 case ROUTINE:
24275 case ROW:
24276 case ROW_COUNT:
24277 case ROW_FORMAT:
24278 case ROW_NUMBER:
24279 case RTREE:
24280 case SAVEPOINT:
24281 case SCHEDULE:
24282 case SCHEMA:
24283 case SCHEMA_NAME:
24284 case SECOND:
24285 case SECONDARY:
24286 case SECONDARY_ENGINE:
24287 case SECONDARY_ENGINE_ATTRIBUTE:
24288 case SECONDARY_LOAD:
24289 case SECONDARY_UNLOAD:
24290 case SECURITY:
24291 case SERIAL:
24292 case SERIALIZABLE:
24293 case SERVER:
24294 case SESSION:
24295 case SHARE:
24296 case SHUTDOWN:
24297 case SIGNED:
24298 case SIMPLE:
24299 case SLAVE:
24300 case SLOW:
24301 case SNAPSHOT:
24302 case SOCKET:
24303 case SONAME:
24304 case SOUNDS:
24305 case SOURCE:
24306 case SQL_AFTER_GTIDS:
24307 case SQL_AFTER_MTS_GAPS:
24308 case SQL_BEFORE_GTIDS:
24309 case SQL_BUFFER_RESULT:
24310 case SQL_NO_CACHE:
24311 case SQL_THREAD:
24312 case SRID:
24313 case STACKED:
24314 case START:
24315 case STARTS:
24316 case STATS_AUTO_RECALC:
24317 case STATS_PERSISTENT:
24318 case STATS_SAMPLE_PAGES:
24319 case STATUS:
24320 case STOP:
24321 case STORAGE:
24322 case STREAM:
24323 case STRING:
24324 case SUBCLASS_ORIGIN:
24325 case SUBJECT:
24326 case SUBPARTITION:
24327 case SUBPARTITIONS:
24328 case SUPER:
24329 case SUSPEND:
24330 case SWAPS:
24331 case SWITCHES:
24332 case SYSTEM:
24333 case TABLE:
24334 case TABLES:
24335 case TABLESPACE:
24336 case TABLE_CHECKSUM:
24337 case TABLE_NAME:
24338 case TEMPORARY:
24339 case TEMPTABLE:
24340 case TEXT:
24341 case THAN:
24342 case THREAD_PRIORITY:
24343 case TIES:
24344 case TIME:
24345 case TIMESTAMP:
24346 case TIMESTAMP_ADD:
24347 case TIMESTAMP_DIFF:
24348 case TLS:
24349 case TRANSACTION:
24350 case TRIGGERS:
24351 case TRUE:
24352 case TRUNCATE:
24353 case TYPE:
24354 case TYPES:
24355 case UNBOUNDED:
24356 case UNCOMMITTED:
24357 case UNDEFINED:
24358 case UNDOFILE:
24359 case UNDO_BUFFER_SIZE:
24360 case UNICODE:
24361 case UNINSTALL:
24362 case UNKNOWN:
24363 case UNTIL:
24364 case UPGRADE:
24365 case USER:
24366 case USER_RESOURCES:
24367 case USE_FRM:
24368 case UTC_DATE:
24369 case UTC_TIME:
24370 case UTC_TIMESTAMP:
24371 case VALIDATION:
24372 case VALUE:
24373 case VALUES:
24374 case VARIABLES:
24375 case VCPU:
24376 case VIEW:
24377 case VISIBLE:
24378 case WAIT:
24379 case WARNINGS:
24380 case WEEK:
24381 case WEIGHT_STRING:
24382 case WITHOUT:
24383 case WORK:
24384 case WRAPPER:
24385 case X509:
24386 case XA:
24387 case XID:
24388 case XML:
24389 case YEAR:
24390 case YEAR_MONTH:
24391 case JSON_ARRAY:
24392 case JSON_ARRAY_APPEND:
24393 case JSON_ARRAY_INSERT:
24394 case JSON_CONTAINS:
24395 case JSON_CONTAINS_PATH:
24396 case JSON_DEPTH:
24397 case JSON_EXTRACT:
24398 case JSON_INSERT:
24399 case JSON_KEYS:
24400 case JSON_LENGTH:
24401 case JSON_MERGE:
24402 case JSON_MERGE_PATCH:
24403 case JSON_MERGE_PRESERVE:
24404 case JSON_OBJECT:
24405 case JSON_OVERLAPS:
24406 case JSON_PRETTY:
24407 case JSON_QUOTE:
24408 case JSON_REMOVE:
24409 case JSON_REPLACE:
24410 case JSON_SCHEMA_VALID:
24411 case JSON_SCHEMA_VALIDATION_REPORT:
24412 case JSON_SEARCH:
24413 case JSON_SET:
24414 case JSON_STORAGE_FREE:
24415 case JSON_STORAGE_SIZE:
24416 case JSON_TYPE:
24417 case JSON_UNQUOTE:
24418 case JSON_VALID:
24419 case SINGLE_QUOTED_TEXT:
24420 case DOUBLE_QUOTED_TEXT:
24421 case BQUOTA_STRING:
24422 case NCHAR_TEXT:
24423 case UNDERSCORE_CHARSET:
24424 case NUMBER_:
24425 case HEX_DIGIT_:
24426 case BIT_NUM_:
24427 case IDENTIFIER_:
24428 case IP_ADDRESS:
24429 {
24430 setState(2372);
24431 expr(0);
24432 setState(2377);
24433 _errHandler.sync(this);
24434 _la = _input.LA(1);
24435 while (_la==COMMA_) {
24436 {
24437 {
24438 setState(2373);
24439 match(COMMA_);
24440 setState(2374);
24441 expr(0);
24442 }
24443 }
24444 setState(2379);
24445 _errHandler.sync(this);
24446 _la = _input.LA(1);
24447 }
24448 }
24449 break;
24450 case ASTERISK_:
24451 {
24452 setState(2380);
24453 match(ASTERISK_);
24454 }
24455 break;
24456 case RP_:
24457 break;
24458 default:
24459 break;
24460 }
24461 setState(2383);
24462 match(RP_);
24463 }
24464 }
24465 }
24466 catch (RecognitionException re) {
24467 _localctx.exception = re;
24468 _errHandler.reportError(this, re);
24469 _errHandler.recover(this, re);
24470 }
24471 finally {
24472 exitRule();
24473 }
24474 return _localctx;
24475 }
24476
24477 public static class RegularFunctionNameContext extends ParserRuleContext {
24478 public TerminalNode IF() { return getToken(HiveStatementParser.IF, 0); }
24479 public TerminalNode LOCALTIME() { return getToken(HiveStatementParser.LOCALTIME, 0); }
24480 public TerminalNode LOCALTIMESTAMP() { return getToken(HiveStatementParser.LOCALTIMESTAMP, 0); }
24481 public TerminalNode REPLACE() { return getToken(HiveStatementParser.REPLACE, 0); }
24482 public TerminalNode INSERT() { return getToken(HiveStatementParser.INSERT, 0); }
24483 public TerminalNode INTERVAL() { return getToken(HiveStatementParser.INTERVAL, 0); }
24484 public TerminalNode MOD() { return getToken(HiveStatementParser.MOD, 0); }
24485 public TerminalNode DATABASE() { return getToken(HiveStatementParser.DATABASE, 0); }
24486 public TerminalNode SCHEMA() { return getToken(HiveStatementParser.SCHEMA, 0); }
24487 public TerminalNode LEFT() { return getToken(HiveStatementParser.LEFT, 0); }
24488 public TerminalNode RIGHT() { return getToken(HiveStatementParser.RIGHT, 0); }
24489 public TerminalNode DATE() { return getToken(HiveStatementParser.DATE, 0); }
24490 public TerminalNode DAY() { return getToken(HiveStatementParser.DAY, 0); }
24491 public TerminalNode GEOMETRYCOLLECTION() { return getToken(HiveStatementParser.GEOMETRYCOLLECTION, 0); }
24492 public TerminalNode REPEAT() { return getToken(HiveStatementParser.REPEAT, 0); }
24493 public TerminalNode LINESTRING() { return getToken(HiveStatementParser.LINESTRING, 0); }
24494 public TerminalNode MULTILINESTRING() { return getToken(HiveStatementParser.MULTILINESTRING, 0); }
24495 public TerminalNode MULTIPOINT() { return getToken(HiveStatementParser.MULTIPOINT, 0); }
24496 public TerminalNode MULTIPOLYGON() { return getToken(HiveStatementParser.MULTIPOLYGON, 0); }
24497 public TerminalNode POINT() { return getToken(HiveStatementParser.POINT, 0); }
24498 public TerminalNode POLYGON() { return getToken(HiveStatementParser.POLYGON, 0); }
24499 public TerminalNode TIME() { return getToken(HiveStatementParser.TIME, 0); }
24500 public TerminalNode TIMESTAMP() { return getToken(HiveStatementParser.TIMESTAMP, 0); }
24501 public TerminalNode TIMESTAMP_ADD() { return getToken(HiveStatementParser.TIMESTAMP_ADD, 0); }
24502 public TerminalNode TIMESTAMP_DIFF() { return getToken(HiveStatementParser.TIMESTAMP_DIFF, 0); }
24503 public TerminalNode CURRENT_TIMESTAMP() { return getToken(HiveStatementParser.CURRENT_TIMESTAMP, 0); }
24504 public TerminalNode CURRENT_DATE() { return getToken(HiveStatementParser.CURRENT_DATE, 0); }
24505 public TerminalNode CURRENT_TIME() { return getToken(HiveStatementParser.CURRENT_TIME, 0); }
24506 public TerminalNode UTC_TIMESTAMP() { return getToken(HiveStatementParser.UTC_TIMESTAMP, 0); }
24507 public IdentifierContext identifier() {
24508 return getRuleContext(IdentifierContext.class,0);
24509 }
24510 public RegularFunctionNameContext(ParserRuleContext parent, int invokingState) {
24511 super(parent, invokingState);
24512 }
24513 @Override public int getRuleIndex() { return RULE_regularFunctionName; }
24514 @Override
24515 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24516 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitRegularFunctionName(this);
24517 else return visitor.visitChildren(this);
24518 }
24519 }
24520
24521 public final RegularFunctionNameContext regularFunctionName() throws RecognitionException {
24522 RegularFunctionNameContext _localctx = new RegularFunctionNameContext(_ctx, getState());
24523 enterRule(_localctx, 410, RULE_regularFunctionName);
24524 try {
24525 setState(2416);
24526 _errHandler.sync(this);
24527 switch ( getInterpreter().adaptivePredict(_input,281,_ctx) ) {
24528 case 1:
24529 enterOuterAlt(_localctx, 1);
24530 {
24531 setState(2385);
24532 match(IF);
24533 }
24534 break;
24535 case 2:
24536 enterOuterAlt(_localctx, 2);
24537 {
24538 setState(2386);
24539 match(LOCALTIME);
24540 }
24541 break;
24542 case 3:
24543 enterOuterAlt(_localctx, 3);
24544 {
24545 setState(2387);
24546 match(LOCALTIMESTAMP);
24547 }
24548 break;
24549 case 4:
24550 enterOuterAlt(_localctx, 4);
24551 {
24552 setState(2388);
24553 match(REPLACE);
24554 }
24555 break;
24556 case 5:
24557 enterOuterAlt(_localctx, 5);
24558 {
24559 setState(2389);
24560 match(INSERT);
24561 }
24562 break;
24563 case 6:
24564 enterOuterAlt(_localctx, 6);
24565 {
24566 setState(2390);
24567 match(INTERVAL);
24568 }
24569 break;
24570 case 7:
24571 enterOuterAlt(_localctx, 7);
24572 {
24573 setState(2391);
24574 match(MOD);
24575 }
24576 break;
24577 case 8:
24578 enterOuterAlt(_localctx, 8);
24579 {
24580 setState(2392);
24581 match(DATABASE);
24582 }
24583 break;
24584 case 9:
24585 enterOuterAlt(_localctx, 9);
24586 {
24587 setState(2393);
24588 match(SCHEMA);
24589 }
24590 break;
24591 case 10:
24592 enterOuterAlt(_localctx, 10);
24593 {
24594 setState(2394);
24595 match(LEFT);
24596 }
24597 break;
24598 case 11:
24599 enterOuterAlt(_localctx, 11);
24600 {
24601 setState(2395);
24602 match(RIGHT);
24603 }
24604 break;
24605 case 12:
24606 enterOuterAlt(_localctx, 12);
24607 {
24608 setState(2396);
24609 match(DATE);
24610 }
24611 break;
24612 case 13:
24613 enterOuterAlt(_localctx, 13);
24614 {
24615 setState(2397);
24616 match(DAY);
24617 }
24618 break;
24619 case 14:
24620 enterOuterAlt(_localctx, 14);
24621 {
24622 setState(2398);
24623 match(GEOMETRYCOLLECTION);
24624 }
24625 break;
24626 case 15:
24627 enterOuterAlt(_localctx, 15);
24628 {
24629 setState(2399);
24630 match(REPEAT);
24631 }
24632 break;
24633 case 16:
24634 enterOuterAlt(_localctx, 16);
24635 {
24636 setState(2400);
24637 match(LINESTRING);
24638 }
24639 break;
24640 case 17:
24641 enterOuterAlt(_localctx, 17);
24642 {
24643 setState(2401);
24644 match(MULTILINESTRING);
24645 }
24646 break;
24647 case 18:
24648 enterOuterAlt(_localctx, 18);
24649 {
24650 setState(2402);
24651 match(MULTIPOINT);
24652 }
24653 break;
24654 case 19:
24655 enterOuterAlt(_localctx, 19);
24656 {
24657 setState(2403);
24658 match(MULTIPOLYGON);
24659 }
24660 break;
24661 case 20:
24662 enterOuterAlt(_localctx, 20);
24663 {
24664 setState(2404);
24665 match(POINT);
24666 }
24667 break;
24668 case 21:
24669 enterOuterAlt(_localctx, 21);
24670 {
24671 setState(2405);
24672 match(POLYGON);
24673 }
24674 break;
24675 case 22:
24676 enterOuterAlt(_localctx, 22);
24677 {
24678 setState(2406);
24679 match(TIME);
24680 }
24681 break;
24682 case 23:
24683 enterOuterAlt(_localctx, 23);
24684 {
24685 setState(2407);
24686 match(TIMESTAMP);
24687 }
24688 break;
24689 case 24:
24690 enterOuterAlt(_localctx, 24);
24691 {
24692 setState(2408);
24693 match(TIMESTAMP_ADD);
24694 }
24695 break;
24696 case 25:
24697 enterOuterAlt(_localctx, 25);
24698 {
24699 setState(2409);
24700 match(TIMESTAMP_DIFF);
24701 }
24702 break;
24703 case 26:
24704 enterOuterAlt(_localctx, 26);
24705 {
24706 setState(2410);
24707 match(DATE);
24708 }
24709 break;
24710 case 27:
24711 enterOuterAlt(_localctx, 27);
24712 {
24713 setState(2411);
24714 match(CURRENT_TIMESTAMP);
24715 }
24716 break;
24717 case 28:
24718 enterOuterAlt(_localctx, 28);
24719 {
24720 setState(2412);
24721 match(CURRENT_DATE);
24722 }
24723 break;
24724 case 29:
24725 enterOuterAlt(_localctx, 29);
24726 {
24727 setState(2413);
24728 match(CURRENT_TIME);
24729 }
24730 break;
24731 case 30:
24732 enterOuterAlt(_localctx, 30);
24733 {
24734 setState(2414);
24735 match(UTC_TIMESTAMP);
24736 }
24737 break;
24738 case 31:
24739 enterOuterAlt(_localctx, 31);
24740 {
24741 setState(2415);
24742 identifier();
24743 }
24744 break;
24745 }
24746 }
24747 catch (RecognitionException re) {
24748 _localctx.exception = re;
24749 _errHandler.reportError(this, re);
24750 _errHandler.recover(this, re);
24751 }
24752 finally {
24753 exitRule();
24754 }
24755 return _localctx;
24756 }
24757
24758 public static class MatchExpressionContext extends ParserRuleContext {
24759 public TerminalNode MATCH() { return getToken(HiveStatementParser.MATCH, 0); }
24760 public TerminalNode AGAINST() { return getToken(HiveStatementParser.AGAINST, 0); }
24761 public List<TerminalNode> LP_() { return getTokens(HiveStatementParser.LP_); }
24762 public TerminalNode LP_(int i) {
24763 return getToken(HiveStatementParser.LP_, i);
24764 }
24765 public ExprContext expr() {
24766 return getRuleContext(ExprContext.class,0);
24767 }
24768 public List<TerminalNode> RP_() { return getTokens(HiveStatementParser.RP_); }
24769 public TerminalNode RP_(int i) {
24770 return getToken(HiveStatementParser.RP_, i);
24771 }
24772 public ColumnRefListContext columnRefList() {
24773 return getRuleContext(ColumnRefListContext.class,0);
24774 }
24775 public MatchSearchModifierContext matchSearchModifier() {
24776 return getRuleContext(MatchSearchModifierContext.class,0);
24777 }
24778 public MatchExpressionContext(ParserRuleContext parent, int invokingState) {
24779 super(parent, invokingState);
24780 }
24781 @Override public int getRuleIndex() { return RULE_matchExpression; }
24782 @Override
24783 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24784 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitMatchExpression(this);
24785 else return visitor.visitChildren(this);
24786 }
24787 }
24788
24789 public final MatchExpressionContext matchExpression() throws RecognitionException {
24790 MatchExpressionContext _localctx = new MatchExpressionContext(_ctx, getState());
24791 enterRule(_localctx, 412, RULE_matchExpression);
24792 int _la;
24793 try {
24794 enterOuterAlt(_localctx, 1);
24795 {
24796 setState(2418);
24797 match(MATCH);
24798 setState(2424);
24799 _errHandler.sync(this);
24800 switch (_input.LA(1)) {
24801 case MAX:
24802 case MIN:
24803 case SUM:
24804 case COUNT:
24805 case GROUP_CONCAT:
24806 case CAST:
24807 case POSITION:
24808 case SUBSTRING:
24809 case SUBSTR:
24810 case EXTRACT:
24811 case TRIM:
24812 case LAST_DAY:
24813 case TRADITIONAL:
24814 case TREE:
24815 case MYSQL_MAIN:
24816 case MYSQL_ADMIN:
24817 case INSTANT:
24818 case INPLACE:
24819 case COPY:
24820 case UL_BINARY:
24821 case AUTOCOMMIT:
24822 case INNODB:
24823 case REDO_LOG:
24824 case ACCOUNT:
24825 case ACTION:
24826 case ACTIVE:
24827 case ADMIN:
24828 case AFTER:
24829 case AGAINST:
24830 case AGGREGATE:
24831 case ALGORITHM:
24832 case ALWAYS:
24833 case ANY:
24834 case ARRAY:
24835 case ASCII:
24836 case AT:
24837 case ATTRIBUTE:
24838 case AUTOEXTEND_SIZE:
24839 case AUTO_INCREMENT:
24840 case AVG:
24841 case BIT_XOR:
24842 case AVG_ROW_LENGTH:
24843 case BACKUP:
24844 case BEGIN:
24845 case BINLOG:
24846 case BIT:
24847 case BLOCK:
24848 case BOOL:
24849 case BOOLEAN:
24850 case BTREE:
24851 case BUCKETS:
24852 case BYTE:
24853 case CACHE:
24854 case CASCADED:
24855 case CATALOG_NAME:
24856 case CHAIN:
24857 case CHANGED:
24858 case CHANNEL:
24859 case CHARSET:
24860 case CHECKSUM:
24861 case CIPHER:
24862 case CLASS_ORIGIN:
24863 case CLIENT:
24864 case CLONE:
24865 case CLOSE:
24866 case COALESCE:
24867 case CODE:
24868 case COLLATION:
24869 case COLUMNS:
24870 case COLUMN_FORMAT:
24871 case COLUMN_NAME:
24872 case COMMENT:
24873 case COMMIT:
24874 case COMMITTED:
24875 case COMPACT:
24876 case COMPLETION:
24877 case COMPONENT:
24878 case COMPRESSED:
24879 case COMPRESSION:
24880 case CONCURRENT:
24881 case CONNECTION:
24882 case CONSISTENT:
24883 case CONSTRAINT_CATALOG:
24884 case CONSTRAINT_NAME:
24885 case CONSTRAINT_SCHEMA:
24886 case CONTAINS:
24887 case CONTEXT:
24888 case CPU:
24889 case CREATE:
24890 case CURRENT:
24891 case CURSOR_NAME:
24892 case DATA:
24893 case DATAFILE:
24894 case DATE:
24895 case DATETIME:
24896 case DAY:
24897 case DAY_MINUTE:
24898 case DEALLOCATE:
24899 case DEFAULT_AUTH:
24900 case DEFINER:
24901 case DEFINITION:
24902 case DELAY_KEY_WRITE:
24903 case DESCRIPTION:
24904 case DIAGNOSTICS:
24905 case DIRECTORY:
24906 case DISABLE:
24907 case DISCARD:
24908 case DISK:
24909 case DO:
24910 case DUMPFILE:
24911 case DUPLICATE:
24912 case DYNAMIC:
24913 case ENABLE:
24914 case ENCRYPTION:
24915 case END:
24916 case ENDS:
24917 case ENFORCED:
24918 case ENGINE:
24919 case ENGINES:
24920 case ENGINE_ATTRIBUTE:
24921 case ENUM:
24922 case ERROR:
24923 case ERRORS:
24924 case ESCAPE:
24925 case EVENT:
24926 case EVENTS:
24927 case EVERY:
24928 case EXCHANGE:
24929 case EXCLUDE:
24930 case EXECUTE:
24931 case EXPANSION:
24932 case EXPIRE:
24933 case EXPORT:
24934 case EXTENDED:
24935 case EXTENT_SIZE:
24936 case FAILED_LOGIN_ATTEMPTS:
24937 case FAST:
24938 case FAULTS:
24939 case FILE:
24940 case FILE_BLOCK_SIZE:
24941 case FILTER:
24942 case FIRST:
24943 case FIXED:
24944 case FLUSH:
24945 case FOLLOWING:
24946 case FOLLOWS:
24947 case FORMAT:
24948 case FOUND:
24949 case FULL:
24950 case GENERAL:
24951 case GEOMETRY:
24952 case GEOMETRYCOLLECTION:
24953 case GET_FORMAT:
24954 case GET_MASTER_PUBLIC_KEY:
24955 case GLOBAL:
24956 case GRANTS:
24957 case GROUP_REPLICATION:
24958 case HANDLER:
24959 case HASH:
24960 case HELP:
24961 case HISTOGRAM:
24962 case HISTORY:
24963 case HOST:
24964 case HOSTS:
24965 case HOUR:
24966 case IDENTIFIED:
24967 case IGNORE_SERVER_IDS:
24968 case IMPORT:
24969 case INACTIVE:
24970 case INDEXES:
24971 case INITIAL_SIZE:
24972 case INSERT_METHOD:
24973 case INSTALL:
24974 case INSTANCE:
24975 case INVISIBLE:
24976 case INVOKER:
24977 case IO:
24978 case IPC:
24979 case ISOLATION:
24980 case ISSUER:
24981 case JSON:
24982 case JSON_VALUE:
24983 case KEY:
24984 case KEY_BLOCK_SIZE:
24985 case LANGUAGE:
24986 case LAST:
24987 case LAST_VALUE:
24988 case LEAVES:
24989 case LESS:
24990 case LEVEL:
24991 case LINESTRING:
24992 case LIST:
24993 case LOCAL:
24994 case LOCKED:
24995 case LOCKS:
24996 case LOGFILE:
24997 case LOGS:
24998 case MASTER:
24999 case MASTER_AUTO_POSITION:
25000 case MASTER_COMPRESSION_ALGORITHM:
25001 case MASTER_CONNECT_RETRY:
25002 case MASTER_DELAY:
25003 case MASTER_HEARTBEAT_PERIOD:
25004 case MASTER_HOST:
25005 case MASTER_LOG_FILE:
25006 case MASTER_LOG_POS:
25007 case MASTER_PASSWORD:
25008 case MASTER_PORT:
25009 case MASTER_PUBLIC_KEY_PATH:
25010 case MASTER_RETRY_COUNT:
25011 case MASTER_SERVER_ID:
25012 case MASTER_SSL:
25013 case MASTER_SSL_CA:
25014 case MASTER_SSL_CAPATH:
25015 case MASTER_SSL_CERT:
25016 case MASTER_SSL_CIPHER:
25017 case MASTER_SSL_CRL:
25018 case MASTER_SSL_CRLPATH:
25019 case MASTER_SSL_KEY:
25020 case MASTER_TLS_CIPHERSUITES:
25021 case MASTER_TLS_VERSION:
25022 case MASTER_USER:
25023 case MASTER_ZSTD_COMPRESSION_LEVEL:
25024 case MAXVALUE:
25025 case MAX_CONNECTIONS_PER_HOUR:
25026 case MAX_QUERIES_PER_HOUR:
25027 case MAX_ROWS:
25028 case MAX_SIZE:
25029 case MAX_UPDATES_PER_HOUR:
25030 case MAX_USER_CONNECTIONS:
25031 case MEDIUM:
25032 case MEMBER:
25033 case MEMORY:
25034 case MERGE:
25035 case MESSAGE_TEXT:
25036 case MICROSECOND:
25037 case MIGRATE:
25038 case MINUTE:
25039 case MIN_ROWS:
25040 case MODE:
25041 case MODIFY:
25042 case MONTH:
25043 case MULTILINESTRING:
25044 case MULTIPOINT:
25045 case MULTIPOLYGON:
25046 case MUTEX:
25047 case MYSQL_ERRNO:
25048 case NAME:
25049 case NAMES:
25050 case NATIONAL:
25051 case NCHAR:
25052 case NDBCLUSTER:
25053 case NESTED:
25054 case NETWORK_NAMESPACE:
25055 case NEVER:
25056 case NEW:
25057 case NEXT:
25058 case NO:
25059 case NODEGROUP:
25060 case NONE:
25061 case NOWAIT:
25062 case NO_WAIT:
25063 case NULLS:
25064 case NUMBER:
25065 case NVARCHAR:
25066 case OFF:
25067 case OFFSET:
25068 case OJ:
25069 case OLD:
25070 case ONE:
25071 case ONLY:
25072 case OPEN:
25073 case OPTIONAL:
25074 case OPTIONS:
25075 case ORDINALITY:
25076 case ORGANIZATION:
25077 case OTHERS:
25078 case OWNER:
25079 case PACK_KEYS:
25080 case PAGE:
25081 case PARSER:
25082 case PARTIAL:
25083 case PARTITIONING:
25084 case PARTITIONS:
25085 case PASSWORD:
25086 case PASSWORD_LOCK_TIME:
25087 case PATH:
25088 case PERSIST:
25089 case PERSIST_ONLY:
25090 case PHASE:
25091 case PLUGIN:
25092 case PLUGINS:
25093 case PLUGIN_DIR:
25094 case POINT:
25095 case POLYGON:
25096 case PORT:
25097 case PRECEDES:
25098 case PRECEDING:
25099 case PREPARE:
25100 case PRESERVE:
25101 case PREV:
25102 case PRIMARY:
25103 case PRIVILEGES:
25104 case PRIVILEGE_CHECKS_USER:
25105 case PROCESS:
25106 case PROCESSLIST:
25107 case PROFILE:
25108 case PROFILES:
25109 case PROXY:
25110 case QUARTER:
25111 case QUERY:
25112 case QUICK:
25113 case RANDOM:
25114 case READ_ONLY:
25115 case REBUILD:
25116 case RECOVER:
25117 case REDO_BUFFER_SIZE:
25118 case REDUNDANT:
25119 case REFERENCE:
25120 case RELAY:
25121 case RELAYLOG:
25122 case RELAY_LOG_FILE:
25123 case RELAY_LOG_POS:
25124 case RELAY_THREAD:
25125 case RELOAD:
25126 case REMOVE:
25127 case REORGANIZE:
25128 case REPAIR:
25129 case REPEATABLE:
25130 case REPLICATE_DO_DB:
25131 case REPLICATE_DO_TABLE:
25132 case REPLICATE_IGNORE_DB:
25133 case REPLICATE_IGNORE_TABLE:
25134 case REPLICATE_REWRITE_DB:
25135 case REPLICATE_WILD_DO_TABLE:
25136 case REPLICATE_WILD_IGNORE_TABLE:
25137 case REPLICATION:
25138 case REQUIRE_ROW_FORMAT:
25139 case RESET:
25140 case RESOURCE:
25141 case RESPECT:
25142 case RESTART:
25143 case RESTORE:
25144 case RESUME:
25145 case RETAIN:
25146 case RETURNED_SQLSTATE:
25147 case RETURNING:
25148 case RETURNS:
25149 case REUSE:
25150 case REVERSE:
25151 case ROLE:
25152 case ROLLBACK:
25153 case ROLLUP:
25154 case ROTATE:
25155 case ROUTINE:
25156 case ROW_COUNT:
25157 case ROW_FORMAT:
25158 case RTREE:
25159 case SAVEPOINT:
25160 case SCHEDULE:
25161 case SCHEMA_NAME:
25162 case SECOND:
25163 case SECONDARY:
25164 case SECONDARY_ENGINE:
25165 case SECONDARY_ENGINE_ATTRIBUTE:
25166 case SECONDARY_LOAD:
25167 case SECONDARY_UNLOAD:
25168 case SECURITY:
25169 case SERIAL:
25170 case SERIALIZABLE:
25171 case SERVER:
25172 case SESSION:
25173 case SHARE:
25174 case SHUTDOWN:
25175 case SIGNED:
25176 case SIMPLE:
25177 case SLAVE:
25178 case SLOW:
25179 case SNAPSHOT:
25180 case SOCKET:
25181 case SONAME:
25182 case SOUNDS:
25183 case SOURCE:
25184 case SQL_AFTER_GTIDS:
25185 case SQL_AFTER_MTS_GAPS:
25186 case SQL_BEFORE_GTIDS:
25187 case SQL_BUFFER_RESULT:
25188 case SQL_NO_CACHE:
25189 case SQL_THREAD:
25190 case SRID:
25191 case STACKED:
25192 case START:
25193 case STARTS:
25194 case STATS_AUTO_RECALC:
25195 case STATS_PERSISTENT:
25196 case STATS_SAMPLE_PAGES:
25197 case STATUS:
25198 case STOP:
25199 case STORAGE:
25200 case STREAM:
25201 case STRING:
25202 case SUBCLASS_ORIGIN:
25203 case SUBJECT:
25204 case SUBPARTITION:
25205 case SUBPARTITIONS:
25206 case SUPER:
25207 case SUSPEND:
25208 case SWAPS:
25209 case SWITCHES:
25210 case SYSTEM:
25211 case TABLE:
25212 case TABLES:
25213 case TABLESPACE:
25214 case TABLE_CHECKSUM:
25215 case TABLE_NAME:
25216 case TEMPORARY:
25217 case TEMPTABLE:
25218 case TEXT:
25219 case THAN:
25220 case THREAD_PRIORITY:
25221 case TIES:
25222 case TIME:
25223 case TIMESTAMP:
25224 case TIMESTAMP_ADD:
25225 case TIMESTAMP_DIFF:
25226 case TLS:
25227 case TRANSACTION:
25228 case TRIGGERS:
25229 case TRUNCATE:
25230 case TYPE:
25231 case TYPES:
25232 case UNBOUNDED:
25233 case UNCOMMITTED:
25234 case UNDEFINED:
25235 case UNDOFILE:
25236 case UNDO_BUFFER_SIZE:
25237 case UNICODE:
25238 case UNINSTALL:
25239 case UNKNOWN:
25240 case UNTIL:
25241 case UPGRADE:
25242 case USER:
25243 case USER_RESOURCES:
25244 case USE_FRM:
25245 case UTC_DATE:
25246 case UTC_TIME:
25247 case UTC_TIMESTAMP:
25248 case VALIDATION:
25249 case VALUE:
25250 case VARIABLES:
25251 case VCPU:
25252 case VIEW:
25253 case VISIBLE:
25254 case WAIT:
25255 case WARNINGS:
25256 case WEEK:
25257 case WEIGHT_STRING:
25258 case WITHOUT:
25259 case WORK:
25260 case WRAPPER:
25261 case X509:
25262 case XA:
25263 case XID:
25264 case XML:
25265 case YEAR:
25266 case YEAR_MONTH:
25267 case DOUBLE_QUOTED_TEXT:
25268 case BQUOTA_STRING:
25269 case UNDERSCORE_CHARSET:
25270 case IDENTIFIER_:
25271 {
25272 setState(2419);
25273 columnRefList();
25274 }
25275 break;
25276 case LP_:
25277 {
25278 setState(2420);
25279 match(LP_);
25280 setState(2421);
25281 columnRefList();
25282 setState(2422);
25283 match(RP_);
25284 }
25285 break;
25286 default:
25287 throw new NoViableAltException(this);
25288 }
25289 setState(2426);
25290 match(AGAINST);
25291 setState(2427);
25292 match(LP_);
25293 setState(2428);
25294 expr(0);
25295 setState(2430);
25296 _errHandler.sync(this);
25297 _la = _input.LA(1);
25298 if (_la==IN || _la==WITH) {
25299 {
25300 setState(2429);
25301 matchSearchModifier();
25302 }
25303 }
25304
25305 setState(2432);
25306 match(RP_);
25307 }
25308 }
25309 catch (RecognitionException re) {
25310 _localctx.exception = re;
25311 _errHandler.reportError(this, re);
25312 _errHandler.recover(this, re);
25313 }
25314 finally {
25315 exitRule();
25316 }
25317 return _localctx;
25318 }
25319
25320 public static class MatchSearchModifierContext extends ParserRuleContext {
25321 public TerminalNode IN() { return getToken(HiveStatementParser.IN, 0); }
25322 public TerminalNode NATURAL() { return getToken(HiveStatementParser.NATURAL, 0); }
25323 public TerminalNode LANGUAGE() { return getToken(HiveStatementParser.LANGUAGE, 0); }
25324 public TerminalNode MODE() { return getToken(HiveStatementParser.MODE, 0); }
25325 public TerminalNode WITH() { return getToken(HiveStatementParser.WITH, 0); }
25326 public TerminalNode QUERY() { return getToken(HiveStatementParser.QUERY, 0); }
25327 public TerminalNode EXPANSION() { return getToken(HiveStatementParser.EXPANSION, 0); }
25328 public TerminalNode BOOLEAN() { return getToken(HiveStatementParser.BOOLEAN, 0); }
25329 public MatchSearchModifierContext(ParserRuleContext parent, int invokingState) {
25330 super(parent, invokingState);
25331 }
25332 @Override public int getRuleIndex() { return RULE_matchSearchModifier; }
25333 @Override
25334 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25335 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitMatchSearchModifier(this);
25336 else return visitor.visitChildren(this);
25337 }
25338 }
25339
25340 public final MatchSearchModifierContext matchSearchModifier() throws RecognitionException {
25341 MatchSearchModifierContext _localctx = new MatchSearchModifierContext(_ctx, getState());
25342 enterRule(_localctx, 414, RULE_matchSearchModifier);
25343 try {
25344 setState(2451);
25345 _errHandler.sync(this);
25346 switch ( getInterpreter().adaptivePredict(_input,284,_ctx) ) {
25347 case 1:
25348 enterOuterAlt(_localctx, 1);
25349 {
25350 setState(2434);
25351 match(IN);
25352 setState(2435);
25353 match(NATURAL);
25354 setState(2436);
25355 match(LANGUAGE);
25356 setState(2437);
25357 match(MODE);
25358 }
25359 break;
25360 case 2:
25361 enterOuterAlt(_localctx, 2);
25362 {
25363 setState(2438);
25364 match(IN);
25365 setState(2439);
25366 match(NATURAL);
25367 setState(2440);
25368 match(LANGUAGE);
25369 setState(2441);
25370 match(MODE);
25371 setState(2442);
25372 match(WITH);
25373 setState(2443);
25374 match(QUERY);
25375 setState(2444);
25376 match(EXPANSION);
25377 }
25378 break;
25379 case 3:
25380 enterOuterAlt(_localctx, 3);
25381 {
25382 setState(2445);
25383 match(IN);
25384 setState(2446);
25385 match(BOOLEAN);
25386 setState(2447);
25387 match(MODE);
25388 }
25389 break;
25390 case 4:
25391 enterOuterAlt(_localctx, 4);
25392 {
25393 setState(2448);
25394 match(WITH);
25395 setState(2449);
25396 match(QUERY);
25397 setState(2450);
25398 match(EXPANSION);
25399 }
25400 break;
25401 }
25402 }
25403 catch (RecognitionException re) {
25404 _localctx.exception = re;
25405 _errHandler.reportError(this, re);
25406 _errHandler.recover(this, re);
25407 }
25408 finally {
25409 exitRule();
25410 }
25411 return _localctx;
25412 }
25413
25414 public static class CaseExpressionContext extends ParserRuleContext {
25415 public TerminalNode CASE() { return getToken(HiveStatementParser.CASE, 0); }
25416 public TerminalNode END() { return getToken(HiveStatementParser.END, 0); }
25417 public SimpleExprContext simpleExpr() {
25418 return getRuleContext(SimpleExprContext.class,0);
25419 }
25420 public List<CaseWhenContext> caseWhen() {
25421 return getRuleContexts(CaseWhenContext.class);
25422 }
25423 public CaseWhenContext caseWhen(int i) {
25424 return getRuleContext(CaseWhenContext.class,i);
25425 }
25426 public CaseElseContext caseElse() {
25427 return getRuleContext(CaseElseContext.class,0);
25428 }
25429 public CaseExpressionContext(ParserRuleContext parent, int invokingState) {
25430 super(parent, invokingState);
25431 }
25432 @Override public int getRuleIndex() { return RULE_caseExpression; }
25433 @Override
25434 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25435 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCaseExpression(this);
25436 else return visitor.visitChildren(this);
25437 }
25438 }
25439
25440 public final CaseExpressionContext caseExpression() throws RecognitionException {
25441 CaseExpressionContext _localctx = new CaseExpressionContext(_ctx, getState());
25442 enterRule(_localctx, 416, RULE_caseExpression);
25443 int _la;
25444 try {
25445 enterOuterAlt(_localctx, 1);
25446 {
25447 setState(2453);
25448 match(CASE);
25449 setState(2455);
25450 _errHandler.sync(this);
25451 _la = _input.LA(1);
25452 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << AT_) | (1L << MAX) | (1L << MIN) | (1L << SUM) | (1L << COUNT) | (1L << GROUP_CONCAT) | (1L << CAST) | (1L << POSITION) | (1L << SUBSTRING) | (1L << SUBSTR) | (1L << EXTRACT) | (1L << TRIM) | (1L << LAST_DAY) | (1L << TRADITIONAL) | (1L << TREE) | (1L << MYSQL_MAIN) | (1L << MYSQL_ADMIN) | (1L << INSTANT))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (INPLACE - 64)) | (1L << (COPY - 64)) | (1L << (UL_BINARY - 64)) | (1L << (AUTOCOMMIT - 64)) | (1L << (INNODB - 64)) | (1L << (REDO_LOG - 64)) | (1L << (ACCOUNT - 64)) | (1L << (ACTION - 64)) | (1L << (ACTIVE - 64)) | (1L << (ADMIN - 64)) | (1L << (AFTER - 64)) | (1L << (AGAINST - 64)) | (1L << (AGGREGATE - 64)) | (1L << (ALGORITHM - 64)) | (1L << (ALWAYS - 64)) | (1L << (ANY - 64)) | (1L << (ARRAY - 64)) | (1L << (ASCII - 64)) | (1L << (AT - 64)) | (1L << (ATTRIBUTE - 64)) | (1L << (AUTOEXTEND_SIZE - 64)) | (1L << (AUTO_INCREMENT - 64)) | (1L << (AVG - 64)) | (1L << (BIT_XOR - 64)) | (1L << (AVG_ROW_LENGTH - 64)) | (1L << (BACKUP - 64)) | (1L << (BEGIN - 64)) | (1L << (BINARY - 64)) | (1L << (BINLOG - 64)) | (1L << (BIT - 64)) | (1L << (BLOCK - 64)) | (1L << (BOOL - 64)) | (1L << (BOOLEAN - 64)) | (1L << (BTREE - 64)) | (1L << (BUCKETS - 64)) | (1L << (BYTE - 64)) | (1L << (CACHE - 64)) | (1L << (CASCADED - 64)) | (1L << (CASE - 64)) | (1L << (CATALOG_NAME - 64)) | (1L << (CHAIN - 64)) | (1L << (CHANGED - 64)) | (1L << (CHANNEL - 64)))) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & ((1L << (CHAR - 128)) | (1L << (CHARSET - 128)) | (1L << (CHECKSUM - 128)) | (1L << (CIPHER - 128)) | (1L << (CLASS_ORIGIN - 128)) | (1L << (CLIENT - 128)) | (1L << (CLONE - 128)) | (1L << (CLOSE - 128)) | (1L << (COALESCE - 128)) | (1L << (CODE - 128)) | (1L << (COLLATION - 128)) | (1L << (COLUMNS - 128)) | (1L << (COLUMN_FORMAT - 128)) | (1L << (COLUMN_NAME - 128)) | (1L << (COMMENT - 128)) | (1L << (COMMIT - 128)) | (1L << (COMMITTED - 128)) | (1L << (COMPACT - 128)) | (1L << (COMPLETION - 128)) | (1L << (COMPONENT - 128)) | (1L << (COMPRESSED - 128)) | (1L << (COMPRESSION - 128)) | (1L << (CONCURRENT - 128)) | (1L << (CONNECTION - 128)) | (1L << (CONSISTENT - 128)) | (1L << (CONSTRAINT_CATALOG - 128)) | (1L << (CONSTRAINT_NAME - 128)) | (1L << (CONSTRAINT_SCHEMA - 128)) | (1L << (CONTAINS - 128)) | (1L << (CONTEXT - 128)) | (1L << (CONVERT - 128)) | (1L << (CPU - 128)) | (1L << (CREATE - 128)) | (1L << (CUME_DIST - 128)) | (1L << (CURRENT - 128)) | (1L << (CURRENT_DATE - 128)) | (1L << (CURRENT_TIME - 128)) | (1L << (CURRENT_TIMESTAMP - 128)) | (1L << (CURRENT_USER - 128)) | (1L << (CURSOR_NAME - 128)) | (1L << (DATA - 128)) | (1L << (DATABASE - 128)) | (1L << (DATAFILE - 128)) | (1L << (DATE - 128)) | (1L << (DATETIME - 128)) | (1L << (DAY - 128)) | (1L << (DAY_MINUTE - 128)) | (1L << (DEALLOCATE - 128)))) != 0) || ((((_la - 196)) & ~0x3f) == 0 && ((1L << (_la - 196)) & ((1L << (DEFAULT_AUTH - 196)) | (1L << (DEFINER - 196)) | (1L << (DEFINITION - 196)) | (1L << (DELAY_KEY_WRITE - 196)) | (1L << (DENSE_RANK - 196)) | (1L << (DESCRIPTION - 196)) | (1L << (DIAGNOSTICS - 196)) | (1L << (DIRECTORY - 196)) | (1L << (DISABLE - 196)) | (1L << (DISCARD - 196)) | (1L << (DISK - 196)) | (1L << (DO - 196)) | (1L << (DUMPFILE - 196)) | (1L << (DUPLICATE - 196)) | (1L << (DYNAMIC - 196)) | (1L << (ENABLE - 196)) | (1L << (ENCRYPTION - 196)) | (1L << (END - 196)) | (1L << (ENDS - 196)) | (1L << (ENFORCED - 196)) | (1L << (ENGINE - 196)) | (1L << (ENGINES - 196)) | (1L << (ENGINE_ATTRIBUTE - 196)) | (1L << (ENUM - 196)) | (1L << (ERROR - 196)) | (1L << (ERRORS - 196)) | (1L << (ESCAPE - 196)) | (1L << (EVENT - 196)) | (1L << (EVENTS - 196)) | (1L << (EVERY - 196)) | (1L << (EXCHANGE - 196)) | (1L << (EXCLUDE - 196)) | (1L << (EXECUTE - 196)) | (1L << (EXISTS - 196)) | (1L << (EXPANSION - 196)) | (1L << (EXPIRE - 196)) | (1L << (EXPORT - 196)) | (1L << (EXTENDED - 196)) | (1L << (EXTENT_SIZE - 196)) | (1L << (FAILED_LOGIN_ATTEMPTS - 196)) | (1L << (FALSE - 196)) | (1L << (FAST - 196)) | (1L << (FAULTS - 196)))) != 0) || ((((_la - 260)) & ~0x3f) == 0 && ((1L << (_la - 260)) & ((1L << (FILE - 260)) | (1L << (FILE_BLOCK_SIZE - 260)) | (1L << (FILTER - 260)) | (1L << (FIRST - 260)) | (1L << (FIRST_VALUE - 260)) | (1L << (FIXED - 260)) | (1L << (FLUSH - 260)) | (1L << (FOLLOWING - 260)) | (1L << (FOLLOWS - 260)) | (1L << (FORMAT - 260)) | (1L << (FOUND - 260)) | (1L << (FULL - 260)) | (1L << (GENERAL - 260)) | (1L << (GEOMETRY - 260)) | (1L << (GEOMETRYCOLLECTION - 260)) | (1L << (GET_FORMAT - 260)) | (1L << (GET_MASTER_PUBLIC_KEY - 260)) | (1L << (GLOBAL - 260)) | (1L << (GRANTS - 260)) | (1L << (GROUP_REPLICATION - 260)) | (1L << (HANDLER - 260)) | (1L << (HASH - 260)) | (1L << (HELP - 260)) | (1L << (HISTOGRAM - 260)) | (1L << (HISTORY - 260)) | (1L << (HOST - 260)) | (1L << (HOSTS - 260)) | (1L << (HOUR - 260)) | (1L << (IDENTIFIED - 260)) | (1L << (IF - 260)) | (1L << (IGNORE_SERVER_IDS - 260)) | (1L << (IMPORT - 260)) | (1L << (INACTIVE - 260)) | (1L << (INDEXES - 260)) | (1L << (INITIAL_SIZE - 260)))) != 0) || ((((_la - 326)) & ~0x3f) == 0 && ((1L << (_la - 326)) & ((1L << (INSERT - 326)) | (1L << (INSERT_METHOD - 326)) | (1L << (INSTALL - 326)) | (1L << (INSTANCE - 326)) | (1L << (INTERVAL - 326)) | (1L << (INVISIBLE - 326)) | (1L << (INVOKER - 326)) | (1L << (IO - 326)) | (1L << (IPC - 326)) | (1L << (ISOLATION - 326)) | (1L << (ISSUER - 326)) | (1L << (JSON - 326)) | (1L << (JSON_TABLE - 326)) | (1L << (JSON_VALUE - 326)) | (1L << (KEY - 326)) | (1L << (KEY_BLOCK_SIZE - 326)) | (1L << (LAG - 326)) | (1L << (LANGUAGE - 326)) | (1L << (LAST - 326)) | (1L << (LAST_VALUE - 326)) | (1L << (LEAD - 326)) | (1L << (LEAVES - 326)) | (1L << (LEFT - 326)) | (1L << (LESS - 326)) | (1L << (LEVEL - 326)) | (1L << (LINESTRING - 326)) | (1L << (LIST - 326)) | (1L << (LOCAL - 326)) | (1L << (LOCALTIME - 326)) | (1L << (LOCALTIMESTAMP - 326)) | (1L << (LOCKED - 326)) | (1L << (LOCKS - 326)) | (1L << (LOGFILE - 326)) | (1L << (LOGS - 326)))) != 0) || ((((_la - 391)) & ~0x3f) == 0 && ((1L << (_la - 391)) & ((1L << (MASTER - 391)) | (1L << (MASTER_AUTO_POSITION - 391)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 391)) | (1L << (MASTER_CONNECT_RETRY - 391)) | (1L << (MASTER_DELAY - 391)) | (1L << (MASTER_HEARTBEAT_PERIOD - 391)) | (1L << (MASTER_HOST - 391)) | (1L << (MASTER_LOG_FILE - 391)) | (1L << (MASTER_LOG_POS - 391)) | (1L << (MASTER_PASSWORD - 391)) | (1L << (MASTER_PORT - 391)) | (1L << (MASTER_PUBLIC_KEY_PATH - 391)) | (1L << (MASTER_RETRY_COUNT - 391)) | (1L << (MASTER_SERVER_ID - 391)) | (1L << (MASTER_SSL - 391)) | (1L << (MASTER_SSL_CA - 391)) | (1L << (MASTER_SSL_CAPATH - 391)) | (1L << (MASTER_SSL_CERT - 391)) | (1L << (MASTER_SSL_CIPHER - 391)) | (1L << (MASTER_SSL_CRL - 391)) | (1L << (MASTER_SSL_CRLPATH - 391)) | (1L << (MASTER_SSL_KEY - 391)) | (1L << (MASTER_TLS_CIPHERSUITES - 391)) | (1L << (MASTER_TLS_VERSION - 391)) | (1L << (MASTER_USER - 391)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 391)) | (1L << (MATCH - 391)) | (1L << (MAXVALUE - 391)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 391)) | (1L << (MAX_QUERIES_PER_HOUR - 391)) | (1L << (MAX_ROWS - 391)) | (1L << (MAX_SIZE - 391)) | (1L << (MAX_UPDATES_PER_HOUR - 391)) | (1L << (MAX_USER_CONNECTIONS - 391)) | (1L << (MEDIUM - 391)) | (1L << (MEMBER - 391)) | (1L << (MEMORY - 391)) | (1L << (MERGE - 391)) | (1L << (MESSAGE_TEXT - 391)) | (1L << (MICROSECOND - 391)) | (1L << (MIGRATE - 391)) | (1L << (MINUTE - 391)) | (1L << (MIN_ROWS - 391)) | (1L << (MOD - 391)) | (1L << (MODE - 391)) | (1L << (MODIFY - 391)) | (1L << (MONTH - 391)) | (1L << (MULTILINESTRING - 391)) | (1L << (MULTIPOINT - 391)) | (1L << (MULTIPOLYGON - 391)) | (1L << (MUTEX - 391)) | (1L << (MYSQL_ERRNO - 391)) | (1L << (NAME - 391)) | (1L << (NAMES - 391)) | (1L << (NATIONAL - 391)))) != 0) || ((((_la - 458)) & ~0x3f) == 0 && ((1L << (_la - 458)) & ((1L << (NCHAR - 458)) | (1L << (NDBCLUSTER - 458)) | (1L << (NESTED - 458)) | (1L << (NETWORK_NAMESPACE - 458)) | (1L << (NEVER - 458)) | (1L << (NEW - 458)) | (1L << (NEXT - 458)) | (1L << (NO - 458)) | (1L << (NODEGROUP - 458)) | (1L << (NONE - 458)) | (1L << (NOT - 458)) | (1L << (NOWAIT - 458)) | (1L << (NO_WAIT - 458)) | (1L << (NTH_VALUE - 458)) | (1L << (NTILE - 458)) | (1L << (NULL - 458)) | (1L << (NULLS - 458)) | (1L << (NUMBER - 458)) | (1L << (NVARCHAR - 458)) | (1L << (OFF - 458)) | (1L << (OFFSET - 458)) | (1L << (OJ - 458)) | (1L << (OLD - 458)) | (1L << (ONE - 458)) | (1L << (ONLY - 458)) | (1L << (OPEN - 458)) | (1L << (OPTIONAL - 458)) | (1L << (OPTIONS - 458)) | (1L << (ORDINALITY - 458)) | (1L << (ORGANIZATION - 458)) | (1L << (OTHERS - 458)) | (1L << (OWNER - 458)) | (1L << (PACK_KEYS - 458)) | (1L << (PAGE - 458)) | (1L << (PARSER - 458)) | (1L << (PARTIAL - 458)) | (1L << (PARTITIONING - 458)) | (1L << (PARTITIONS - 458)) | (1L << (PASSWORD - 458)) | (1L << (PASSWORD_LOCK_TIME - 458)) | (1L << (PATH - 458)) | (1L << (PERCENT_RANK - 458)) | (1L << (PERSIST - 458)) | (1L << (PERSIST_ONLY - 458)) | (1L << (PHASE - 458)) | (1L << (PLUGIN - 458)) | (1L << (PLUGINS - 458)))) != 0) || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (PLUGIN_DIR - 522)) | (1L << (POINT - 522)) | (1L << (POLYGON - 522)) | (1L << (PORT - 522)) | (1L << (PRECEDES - 522)) | (1L << (PRECEDING - 522)) | (1L << (PREPARE - 522)) | (1L << (PRESERVE - 522)) | (1L << (PREV - 522)) | (1L << (PRIMARY - 522)) | (1L << (PRIVILEGES - 522)) | (1L << (PRIVILEGE_CHECKS_USER - 522)) | (1L << (PROCESS - 522)) | (1L << (PROCESSLIST - 522)) | (1L << (PROFILE - 522)) | (1L << (PROFILES - 522)) | (1L << (PROXY - 522)) | (1L << (QUARTER - 522)) | (1L << (QUERY - 522)) | (1L << (QUICK - 522)) | (1L << (RANDOM - 522)) | (1L << (RANK - 522)) | (1L << (READ_ONLY - 522)) | (1L << (REBUILD - 522)) | (1L << (RECOVER - 522)) | (1L << (REDO_BUFFER_SIZE - 522)) | (1L << (REDUNDANT - 522)) | (1L << (REFERENCE - 522)) | (1L << (RELAY - 522)) | (1L << (RELAYLOG - 522)) | (1L << (RELAY_LOG_FILE - 522)) | (1L << (RELAY_LOG_POS - 522)) | (1L << (RELAY_THREAD - 522)) | (1L << (RELOAD - 522)) | (1L << (REMOVE - 522)) | (1L << (REORGANIZE - 522)) | (1L << (REPAIR - 522)) | (1L << (REPEAT - 522)) | (1L << (REPEATABLE - 522)) | (1L << (REPLACE - 522)) | (1L << (REPLICATE_DO_DB - 522)) | (1L << (REPLICATE_DO_TABLE - 522)) | (1L << (REPLICATE_IGNORE_DB - 522)) | (1L << (REPLICATE_IGNORE_TABLE - 522)) | (1L << (REPLICATE_REWRITE_DB - 522)) | (1L << (REPLICATE_WILD_DO_TABLE - 522)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 522)) | (1L << (REPLICATION - 522)))) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & ((1L << (REQUIRE_ROW_FORMAT - 586)) | (1L << (RESET - 586)) | (1L << (RESOURCE - 586)) | (1L << (RESPECT - 586)) | (1L << (RESTART - 586)) | (1L << (RESTORE - 586)) | (1L << (RESUME - 586)) | (1L << (RETAIN - 586)) | (1L << (RETURNED_SQLSTATE - 586)) | (1L << (RETURNING - 586)) | (1L << (RETURNS - 586)) | (1L << (REUSE - 586)) | (1L << (REVERSE - 586)) | (1L << (RIGHT - 586)) | (1L << (ROLE - 586)) | (1L << (ROLLBACK - 586)) | (1L << (ROLLUP - 586)) | (1L << (ROTATE - 586)) | (1L << (ROUTINE - 586)) | (1L << (ROW - 586)) | (1L << (ROW_COUNT - 586)) | (1L << (ROW_FORMAT - 586)) | (1L << (ROW_NUMBER - 586)) | (1L << (RTREE - 586)) | (1L << (SAVEPOINT - 586)) | (1L << (SCHEDULE - 586)) | (1L << (SCHEMA - 586)) | (1L << (SCHEMA_NAME - 586)) | (1L << (SECOND - 586)) | (1L << (SECONDARY - 586)) | (1L << (SECONDARY_ENGINE - 586)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 586)) | (1L << (SECONDARY_LOAD - 586)) | (1L << (SECONDARY_UNLOAD - 586)) | (1L << (SECURITY - 586)) | (1L << (SERIAL - 586)) | (1L << (SERIALIZABLE - 586)) | (1L << (SERVER - 586)) | (1L << (SESSION - 586)) | (1L << (SHARE - 586)) | (1L << (SHUTDOWN - 586)) | (1L << (SIGNED - 586)) | (1L << (SIMPLE - 586)) | (1L << (SLAVE - 586)) | (1L << (SLOW - 586)))) != 0) || ((((_la - 650)) & ~0x3f) == 0 && ((1L << (_la - 650)) & ((1L << (SNAPSHOT - 650)) | (1L << (SOCKET - 650)) | (1L << (SONAME - 650)) | (1L << (SOUNDS - 650)) | (1L << (SOURCE - 650)) | (1L << (SQL_AFTER_GTIDS - 650)) | (1L << (SQL_AFTER_MTS_GAPS - 650)) | (1L << (SQL_BEFORE_GTIDS - 650)) | (1L << (SQL_BUFFER_RESULT - 650)) | (1L << (SQL_NO_CACHE - 650)) | (1L << (SQL_THREAD - 650)) | (1L << (SRID - 650)) | (1L << (STACKED - 650)) | (1L << (START - 650)) | (1L << (STARTS - 650)) | (1L << (STATS_AUTO_RECALC - 650)) | (1L << (STATS_PERSISTENT - 650)) | (1L << (STATS_SAMPLE_PAGES - 650)) | (1L << (STATUS - 650)) | (1L << (STOP - 650)) | (1L << (STORAGE - 650)) | (1L << (STREAM - 650)) | (1L << (STRING - 650)) | (1L << (SUBCLASS_ORIGIN - 650)) | (1L << (SUBJECT - 650)) | (1L << (SUBPARTITION - 650)) | (1L << (SUBPARTITIONS - 650)) | (1L << (SUPER - 650)) | (1L << (SUSPEND - 650)) | (1L << (SWAPS - 650)) | (1L << (SWITCHES - 650)) | (1L << (SYSTEM - 650)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (TABLE - 722)) | (1L << (TABLES - 722)) | (1L << (TABLESPACE - 722)) | (1L << (TABLE_CHECKSUM - 722)) | (1L << (TABLE_NAME - 722)) | (1L << (TEMPORARY - 722)) | (1L << (TEMPTABLE - 722)) | (1L << (TEXT - 722)) | (1L << (THAN - 722)) | (1L << (THREAD_PRIORITY - 722)) | (1L << (TIES - 722)) | (1L << (TIME - 722)) | (1L << (TIMESTAMP - 722)) | (1L << (TIMESTAMP_ADD - 722)) | (1L << (TIMESTAMP_DIFF - 722)) | (1L << (TLS - 722)) | (1L << (TRANSACTION - 722)) | (1L << (TRIGGERS - 722)) | (1L << (TRUE - 722)) | (1L << (TRUNCATE - 722)) | (1L << (TYPE - 722)) | (1L << (TYPES - 722)) | (1L << (UNBOUNDED - 722)) | (1L << (UNCOMMITTED - 722)) | (1L << (UNDEFINED - 722)) | (1L << (UNDOFILE - 722)) | (1L << (UNDO_BUFFER_SIZE - 722)) | (1L << (UNICODE - 722)) | (1L << (UNINSTALL - 722)) | (1L << (UNKNOWN - 722)) | (1L << (UNTIL - 722)) | (1L << (UPGRADE - 722)) | (1L << (USER - 722)) | (1L << (USER_RESOURCES - 722)) | (1L << (USE_FRM - 722)) | (1L << (UTC_DATE - 722)) | (1L << (UTC_TIME - 722)) | (1L << (UTC_TIMESTAMP - 722)) | (1L << (VALIDATION - 722)) | (1L << (VALUE - 722)) | (1L << (VALUES - 722)) | (1L << (VARIABLES - 722)))) != 0) || ((((_la - 787)) & ~0x3f) == 0 && ((1L << (_la - 787)) & ((1L << (VCPU - 787)) | (1L << (VIEW - 787)) | (1L << (VISIBLE - 787)) | (1L << (WAIT - 787)) | (1L << (WARNINGS - 787)) | (1L << (WEEK - 787)) | (1L << (WEIGHT_STRING - 787)) | (1L << (WITHOUT - 787)) | (1L << (WORK - 787)) | (1L << (WRAPPER - 787)) | (1L << (X509 - 787)) | (1L << (XA - 787)) | (1L << (XID - 787)) | (1L << (XML - 787)) | (1L << (YEAR - 787)) | (1L << (YEAR_MONTH - 787)) | (1L << (JSON_ARRAY - 787)) | (1L << (JSON_ARRAY_APPEND - 787)) | (1L << (JSON_ARRAY_INSERT - 787)) | (1L << (JSON_CONTAINS - 787)) | (1L << (JSON_CONTAINS_PATH - 787)) | (1L << (JSON_DEPTH - 787)) | (1L << (JSON_EXTRACT - 787)) | (1L << (JSON_INSERT - 787)) | (1L << (JSON_KEYS - 787)) | (1L << (JSON_LENGTH - 787)) | (1L << (JSON_MERGE - 787)) | (1L << (JSON_MERGE_PATCH - 787)) | (1L << (JSON_MERGE_PRESERVE - 787)) | (1L << (JSON_OBJECT - 787)) | (1L << (JSON_OVERLAPS - 787)) | (1L << (JSON_PRETTY - 787)) | (1L << (JSON_QUOTE - 787)) | (1L << (JSON_REMOVE - 787)) | (1L << (JSON_REPLACE - 787)) | (1L << (JSON_SCHEMA_VALID - 787)) | (1L << (JSON_SCHEMA_VALIDATION_REPORT - 787)) | (1L << (JSON_SEARCH - 787)) | (1L << (JSON_SET - 787)) | (1L << (JSON_STORAGE_FREE - 787)) | (1L << (JSON_STORAGE_SIZE - 787)) | (1L << (JSON_TYPE - 787)) | (1L << (JSON_UNQUOTE - 787)) | (1L << (JSON_VALID - 787)) | (1L << (SINGLE_QUOTED_TEXT - 787)) | (1L << (DOUBLE_QUOTED_TEXT - 787)) | (1L << (BQUOTA_STRING - 787)) | (1L << (NCHAR_TEXT - 787)) | (1L << (UNDERSCORE_CHARSET - 787)) | (1L << (NUMBER_ - 787)))) != 0) || ((((_la - 851)) & ~0x3f) == 0 && ((1L << (_la - 851)) & ((1L << (HEX_DIGIT_ - 851)) | (1L << (BIT_NUM_ - 851)) | (1L << (IDENTIFIER_ - 851)) | (1L << (IP_ADDRESS - 851)))) != 0)) {
25453 {
25454 setState(2454);
25455 simpleExpr(0);
25456 }
25457 }
25458
25459 setState(2458);
25460 _errHandler.sync(this);
25461 _la = _input.LA(1);
25462 do {
25463 {
25464 {
25465 setState(2457);
25466 caseWhen();
25467 }
25468 }
25469 setState(2460);
25470 _errHandler.sync(this);
25471 _la = _input.LA(1);
25472 } while ( _la==WHEN );
25473 setState(2463);
25474 _errHandler.sync(this);
25475 _la = _input.LA(1);
25476 if (_la==ELSE) {
25477 {
25478 setState(2462);
25479 caseElse();
25480 }
25481 }
25482
25483 setState(2465);
25484 match(END);
25485 }
25486 }
25487 catch (RecognitionException re) {
25488 _localctx.exception = re;
25489 _errHandler.reportError(this, re);
25490 _errHandler.recover(this, re);
25491 }
25492 finally {
25493 exitRule();
25494 }
25495 return _localctx;
25496 }
25497
25498 public static class DatetimeExprContext extends ParserRuleContext {
25499 public ExprContext expr() {
25500 return getRuleContext(ExprContext.class,0);
25501 }
25502 public DatetimeExprContext(ParserRuleContext parent, int invokingState) {
25503 super(parent, invokingState);
25504 }
25505 @Override public int getRuleIndex() { return RULE_datetimeExpr; }
25506 @Override
25507 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25508 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDatetimeExpr(this);
25509 else return visitor.visitChildren(this);
25510 }
25511 }
25512
25513 public final DatetimeExprContext datetimeExpr() throws RecognitionException {
25514 DatetimeExprContext _localctx = new DatetimeExprContext(_ctx, getState());
25515 enterRule(_localctx, 418, RULE_datetimeExpr);
25516 try {
25517 enterOuterAlt(_localctx, 1);
25518 {
25519 setState(2467);
25520 expr(0);
25521 }
25522 }
25523 catch (RecognitionException re) {
25524 _localctx.exception = re;
25525 _errHandler.reportError(this, re);
25526 _errHandler.recover(this, re);
25527 }
25528 finally {
25529 exitRule();
25530 }
25531 return _localctx;
25532 }
25533
25534 public static class BinaryLogFileIndexNumberContext extends ParserRuleContext {
25535 public TerminalNode NUMBER_() { return getToken(HiveStatementParser.NUMBER_, 0); }
25536 public BinaryLogFileIndexNumberContext(ParserRuleContext parent, int invokingState) {
25537 super(parent, invokingState);
25538 }
25539 @Override public int getRuleIndex() { return RULE_binaryLogFileIndexNumber; }
25540 @Override
25541 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25542 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitBinaryLogFileIndexNumber(this);
25543 else return visitor.visitChildren(this);
25544 }
25545 }
25546
25547 public final BinaryLogFileIndexNumberContext binaryLogFileIndexNumber() throws RecognitionException {
25548 BinaryLogFileIndexNumberContext _localctx = new BinaryLogFileIndexNumberContext(_ctx, getState());
25549 enterRule(_localctx, 420, RULE_binaryLogFileIndexNumber);
25550 try {
25551 enterOuterAlt(_localctx, 1);
25552 {
25553 setState(2469);
25554 match(NUMBER_);
25555 }
25556 }
25557 catch (RecognitionException re) {
25558 _localctx.exception = re;
25559 _errHandler.reportError(this, re);
25560 _errHandler.recover(this, re);
25561 }
25562 finally {
25563 exitRule();
25564 }
25565 return _localctx;
25566 }
25567
25568 public static class CaseWhenContext extends ParserRuleContext {
25569 public TerminalNode WHEN() { return getToken(HiveStatementParser.WHEN, 0); }
25570 public List<ExprContext> expr() {
25571 return getRuleContexts(ExprContext.class);
25572 }
25573 public ExprContext expr(int i) {
25574 return getRuleContext(ExprContext.class,i);
25575 }
25576 public TerminalNode THEN() { return getToken(HiveStatementParser.THEN, 0); }
25577 public CaseWhenContext(ParserRuleContext parent, int invokingState) {
25578 super(parent, invokingState);
25579 }
25580 @Override public int getRuleIndex() { return RULE_caseWhen; }
25581 @Override
25582 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25583 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCaseWhen(this);
25584 else return visitor.visitChildren(this);
25585 }
25586 }
25587
25588 public final CaseWhenContext caseWhen() throws RecognitionException {
25589 CaseWhenContext _localctx = new CaseWhenContext(_ctx, getState());
25590 enterRule(_localctx, 422, RULE_caseWhen);
25591 try {
25592 enterOuterAlt(_localctx, 1);
25593 {
25594 setState(2471);
25595 match(WHEN);
25596 setState(2472);
25597 expr(0);
25598 setState(2473);
25599 match(THEN);
25600 setState(2474);
25601 expr(0);
25602 }
25603 }
25604 catch (RecognitionException re) {
25605 _localctx.exception = re;
25606 _errHandler.reportError(this, re);
25607 _errHandler.recover(this, re);
25608 }
25609 finally {
25610 exitRule();
25611 }
25612 return _localctx;
25613 }
25614
25615 public static class CaseElseContext extends ParserRuleContext {
25616 public TerminalNode ELSE() { return getToken(HiveStatementParser.ELSE, 0); }
25617 public ExprContext expr() {
25618 return getRuleContext(ExprContext.class,0);
25619 }
25620 public CaseElseContext(ParserRuleContext parent, int invokingState) {
25621 super(parent, invokingState);
25622 }
25623 @Override public int getRuleIndex() { return RULE_caseElse; }
25624 @Override
25625 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25626 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCaseElse(this);
25627 else return visitor.visitChildren(this);
25628 }
25629 }
25630
25631 public final CaseElseContext caseElse() throws RecognitionException {
25632 CaseElseContext _localctx = new CaseElseContext(_ctx, getState());
25633 enterRule(_localctx, 424, RULE_caseElse);
25634 try {
25635 enterOuterAlt(_localctx, 1);
25636 {
25637 setState(2476);
25638 match(ELSE);
25639 setState(2477);
25640 expr(0);
25641 }
25642 }
25643 catch (RecognitionException re) {
25644 _localctx.exception = re;
25645 _errHandler.reportError(this, re);
25646 _errHandler.recover(this, re);
25647 }
25648 finally {
25649 exitRule();
25650 }
25651 return _localctx;
25652 }
25653
25654 public static class IntervalExpressionContext extends ParserRuleContext {
25655 public TerminalNode INTERVAL() { return getToken(HiveStatementParser.INTERVAL, 0); }
25656 public IntervalValueContext intervalValue() {
25657 return getRuleContext(IntervalValueContext.class,0);
25658 }
25659 public IntervalExpressionContext(ParserRuleContext parent, int invokingState) {
25660 super(parent, invokingState);
25661 }
25662 @Override public int getRuleIndex() { return RULE_intervalExpression; }
25663 @Override
25664 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25665 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIntervalExpression(this);
25666 else return visitor.visitChildren(this);
25667 }
25668 }
25669
25670 public final IntervalExpressionContext intervalExpression() throws RecognitionException {
25671 IntervalExpressionContext _localctx = new IntervalExpressionContext(_ctx, getState());
25672 enterRule(_localctx, 426, RULE_intervalExpression);
25673 try {
25674 enterOuterAlt(_localctx, 1);
25675 {
25676 setState(2479);
25677 match(INTERVAL);
25678 setState(2480);
25679 intervalValue();
25680 }
25681 }
25682 catch (RecognitionException re) {
25683 _localctx.exception = re;
25684 _errHandler.reportError(this, re);
25685 _errHandler.recover(this, re);
25686 }
25687 finally {
25688 exitRule();
25689 }
25690 return _localctx;
25691 }
25692
25693 public static class IntervalValueContext extends ParserRuleContext {
25694 public ExprContext expr() {
25695 return getRuleContext(ExprContext.class,0);
25696 }
25697 public IntervalUnitContext intervalUnit() {
25698 return getRuleContext(IntervalUnitContext.class,0);
25699 }
25700 public IntervalValueContext(ParserRuleContext parent, int invokingState) {
25701 super(parent, invokingState);
25702 }
25703 @Override public int getRuleIndex() { return RULE_intervalValue; }
25704 @Override
25705 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25706 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIntervalValue(this);
25707 else return visitor.visitChildren(this);
25708 }
25709 }
25710
25711 public final IntervalValueContext intervalValue() throws RecognitionException {
25712 IntervalValueContext _localctx = new IntervalValueContext(_ctx, getState());
25713 enterRule(_localctx, 428, RULE_intervalValue);
25714 try {
25715 enterOuterAlt(_localctx, 1);
25716 {
25717 setState(2482);
25718 expr(0);
25719 setState(2483);
25720 intervalUnit();
25721 }
25722 }
25723 catch (RecognitionException re) {
25724 _localctx.exception = re;
25725 _errHandler.reportError(this, re);
25726 _errHandler.recover(this, re);
25727 }
25728 finally {
25729 exitRule();
25730 }
25731 return _localctx;
25732 }
25733
25734 public static class IntervalUnitContext extends ParserRuleContext {
25735 public TerminalNode MICROSECOND() { return getToken(HiveStatementParser.MICROSECOND, 0); }
25736 public TerminalNode SECOND() { return getToken(HiveStatementParser.SECOND, 0); }
25737 public TerminalNode MINUTE() { return getToken(HiveStatementParser.MINUTE, 0); }
25738 public TerminalNode HOUR() { return getToken(HiveStatementParser.HOUR, 0); }
25739 public TerminalNode DAY() { return getToken(HiveStatementParser.DAY, 0); }
25740 public TerminalNode WEEK() { return getToken(HiveStatementParser.WEEK, 0); }
25741 public TerminalNode MONTH() { return getToken(HiveStatementParser.MONTH, 0); }
25742 public TerminalNode QUARTER() { return getToken(HiveStatementParser.QUARTER, 0); }
25743 public TerminalNode YEAR() { return getToken(HiveStatementParser.YEAR, 0); }
25744 public TerminalNode SECOND_MICROSECOND() { return getToken(HiveStatementParser.SECOND_MICROSECOND, 0); }
25745 public TerminalNode MINUTE_MICROSECOND() { return getToken(HiveStatementParser.MINUTE_MICROSECOND, 0); }
25746 public TerminalNode MINUTE_SECOND() { return getToken(HiveStatementParser.MINUTE_SECOND, 0); }
25747 public TerminalNode HOUR_MICROSECOND() { return getToken(HiveStatementParser.HOUR_MICROSECOND, 0); }
25748 public TerminalNode HOUR_SECOND() { return getToken(HiveStatementParser.HOUR_SECOND, 0); }
25749 public TerminalNode HOUR_MINUTE() { return getToken(HiveStatementParser.HOUR_MINUTE, 0); }
25750 public TerminalNode DAY_MICROSECOND() { return getToken(HiveStatementParser.DAY_MICROSECOND, 0); }
25751 public TerminalNode DAY_SECOND() { return getToken(HiveStatementParser.DAY_SECOND, 0); }
25752 public TerminalNode DAY_MINUTE() { return getToken(HiveStatementParser.DAY_MINUTE, 0); }
25753 public TerminalNode DAY_HOUR() { return getToken(HiveStatementParser.DAY_HOUR, 0); }
25754 public TerminalNode YEAR_MONTH() { return getToken(HiveStatementParser.YEAR_MONTH, 0); }
25755 public IntervalUnitContext(ParserRuleContext parent, int invokingState) {
25756 super(parent, invokingState);
25757 }
25758 @Override public int getRuleIndex() { return RULE_intervalUnit; }
25759 @Override
25760 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25761 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIntervalUnit(this);
25762 else return visitor.visitChildren(this);
25763 }
25764 }
25765
25766 public final IntervalUnitContext intervalUnit() throws RecognitionException {
25767 IntervalUnitContext _localctx = new IntervalUnitContext(_ctx, getState());
25768 enterRule(_localctx, 430, RULE_intervalUnit);
25769 int _la;
25770 try {
25771 enterOuterAlt(_localctx, 1);
25772 {
25773 setState(2485);
25774 _la = _input.LA(1);
25775 if ( !(((((_la - 186)) & ~0x3f) == 0 && ((1L << (_la - 186)) & ((1L << (DAY - 186)) | (1L << (DAY_HOUR - 186)) | (1L << (DAY_MICROSECOND - 186)) | (1L << (DAY_MINUTE - 186)) | (1L << (DAY_SECOND - 186)))) != 0) || ((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & ((1L << (HOUR - 308)) | (1L << (HOUR_MICROSECOND - 308)) | (1L << (HOUR_MINUTE - 308)) | (1L << (HOUR_SECOND - 308)))) != 0) || ((((_la - 435)) & ~0x3f) == 0 && ((1L << (_la - 435)) & ((1L << (MICROSECOND - 435)) | (1L << (MINUTE - 435)) | (1L << (MINUTE_MICROSECOND - 435)) | (1L << (MINUTE_SECOND - 435)) | (1L << (MONTH - 435)))) != 0) || _la==QUARTER || _la==SECOND || _la==SECOND_MICROSECOND || ((((_la - 793)) & ~0x3f) == 0 && ((1L << (_la - 793)) & ((1L << (WEEK - 793)) | (1L << (YEAR - 793)) | (1L << (YEAR_MONTH - 793)))) != 0)) ) {
25776 _errHandler.recoverInline(this);
25777 }
25778 else {
25779 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
25780 _errHandler.reportMatch(this);
25781 consume();
25782 }
25783 }
25784 }
25785 catch (RecognitionException re) {
25786 _localctx.exception = re;
25787 _errHandler.reportError(this, re);
25788 _errHandler.recover(this, re);
25789 }
25790 finally {
25791 exitRule();
25792 }
25793 return _localctx;
25794 }
25795
25796 public static class OrderByClauseContext extends ParserRuleContext {
25797 public TerminalNode ORDER() { return getToken(HiveStatementParser.ORDER, 0); }
25798 public TerminalNode BY() { return getToken(HiveStatementParser.BY, 0); }
25799 public List<OrderByItemContext> orderByItem() {
25800 return getRuleContexts(OrderByItemContext.class);
25801 }
25802 public OrderByItemContext orderByItem(int i) {
25803 return getRuleContext(OrderByItemContext.class,i);
25804 }
25805 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
25806 public TerminalNode COMMA_(int i) {
25807 return getToken(HiveStatementParser.COMMA_, i);
25808 }
25809 public OrderByClauseContext(ParserRuleContext parent, int invokingState) {
25810 super(parent, invokingState);
25811 }
25812 @Override public int getRuleIndex() { return RULE_orderByClause; }
25813 @Override
25814 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25815 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitOrderByClause(this);
25816 else return visitor.visitChildren(this);
25817 }
25818 }
25819
25820 public final OrderByClauseContext orderByClause() throws RecognitionException {
25821 OrderByClauseContext _localctx = new OrderByClauseContext(_ctx, getState());
25822 enterRule(_localctx, 432, RULE_orderByClause);
25823 int _la;
25824 try {
25825 enterOuterAlt(_localctx, 1);
25826 {
25827 setState(2487);
25828 match(ORDER);
25829 setState(2488);
25830 match(BY);
25831 setState(2489);
25832 orderByItem();
25833 setState(2494);
25834 _errHandler.sync(this);
25835 _la = _input.LA(1);
25836 while (_la==COMMA_) {
25837 {
25838 {
25839 setState(2490);
25840 match(COMMA_);
25841 setState(2491);
25842 orderByItem();
25843 }
25844 }
25845 setState(2496);
25846 _errHandler.sync(this);
25847 _la = _input.LA(1);
25848 }
25849 }
25850 }
25851 catch (RecognitionException re) {
25852 _localctx.exception = re;
25853 _errHandler.reportError(this, re);
25854 _errHandler.recover(this, re);
25855 }
25856 finally {
25857 exitRule();
25858 }
25859 return _localctx;
25860 }
25861
25862 public static class OrderByItemContext extends ParserRuleContext {
25863 public NumberLiteralsContext numberLiterals() {
25864 return getRuleContext(NumberLiteralsContext.class,0);
25865 }
25866 public ExprContext expr() {
25867 return getRuleContext(ExprContext.class,0);
25868 }
25869 public DirectionContext direction() {
25870 return getRuleContext(DirectionContext.class,0);
25871 }
25872 public OrderByItemContext(ParserRuleContext parent, int invokingState) {
25873 super(parent, invokingState);
25874 }
25875 @Override public int getRuleIndex() { return RULE_orderByItem; }
25876 @Override
25877 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25878 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitOrderByItem(this);
25879 else return visitor.visitChildren(this);
25880 }
25881 }
25882
25883 public final OrderByItemContext orderByItem() throws RecognitionException {
25884 OrderByItemContext _localctx = new OrderByItemContext(_ctx, getState());
25885 enterRule(_localctx, 434, RULE_orderByItem);
25886 try {
25887 enterOuterAlt(_localctx, 1);
25888 {
25889 setState(2499);
25890 _errHandler.sync(this);
25891 switch ( getInterpreter().adaptivePredict(_input,289,_ctx) ) {
25892 case 1:
25893 {
25894 setState(2497);
25895 numberLiterals();
25896 }
25897 break;
25898 case 2:
25899 {
25900 setState(2498);
25901 expr(0);
25902 }
25903 break;
25904 }
25905 setState(2502);
25906 _errHandler.sync(this);
25907 switch ( getInterpreter().adaptivePredict(_input,290,_ctx) ) {
25908 case 1:
25909 {
25910 setState(2501);
25911 direction();
25912 }
25913 break;
25914 }
25915 }
25916 }
25917 catch (RecognitionException re) {
25918 _localctx.exception = re;
25919 _errHandler.reportError(this, re);
25920 _errHandler.recover(this, re);
25921 }
25922 finally {
25923 exitRule();
25924 }
25925 return _localctx;
25926 }
25927
25928 public static class DataTypeContext extends ParserRuleContext {
25929 public Token dataTypeName;
25930 public TerminalNode INTEGER() { return getToken(HiveStatementParser.INTEGER, 0); }
25931 public TerminalNode INT() { return getToken(HiveStatementParser.INT, 0); }
25932 public TerminalNode TINYINT() { return getToken(HiveStatementParser.TINYINT, 0); }
25933 public TerminalNode SMALLINT() { return getToken(HiveStatementParser.SMALLINT, 0); }
25934 public TerminalNode MIDDLEINT() { return getToken(HiveStatementParser.MIDDLEINT, 0); }
25935 public TerminalNode MEDIUMINT() { return getToken(HiveStatementParser.MEDIUMINT, 0); }
25936 public TerminalNode BIGINT() { return getToken(HiveStatementParser.BIGINT, 0); }
25937 public FieldLengthContext fieldLength() {
25938 return getRuleContext(FieldLengthContext.class,0);
25939 }
25940 public FieldOptionsContext fieldOptions() {
25941 return getRuleContext(FieldOptionsContext.class,0);
25942 }
25943 public TerminalNode REAL() { return getToken(HiveStatementParser.REAL, 0); }
25944 public TerminalNode DOUBLE() { return getToken(HiveStatementParser.DOUBLE, 0); }
25945 public PrecisionContext precision() {
25946 return getRuleContext(PrecisionContext.class,0);
25947 }
25948 public TerminalNode PRECISION() { return getToken(HiveStatementParser.PRECISION, 0); }
25949 public TerminalNode FLOAT() { return getToken(HiveStatementParser.FLOAT, 0); }
25950 public TerminalNode DECIMAL() { return getToken(HiveStatementParser.DECIMAL, 0); }
25951 public TerminalNode NUMERIC() { return getToken(HiveStatementParser.NUMERIC, 0); }
25952 public TerminalNode FIXED() { return getToken(HiveStatementParser.FIXED, 0); }
25953 public TerminalNode BIT() { return getToken(HiveStatementParser.BIT, 0); }
25954 public TerminalNode BOOL() { return getToken(HiveStatementParser.BOOL, 0); }
25955 public TerminalNode BOOLEAN() { return getToken(HiveStatementParser.BOOLEAN, 0); }
25956 public TerminalNode CHAR() { return getToken(HiveStatementParser.CHAR, 0); }
25957 public CharsetWithOptBinaryContext charsetWithOptBinary() {
25958 return getRuleContext(CharsetWithOptBinaryContext.class,0);
25959 }
25960 public TerminalNode NCHAR() { return getToken(HiveStatementParser.NCHAR, 0); }
25961 public TerminalNode NATIONAL_CHAR() { return getToken(HiveStatementParser.NATIONAL_CHAR, 0); }
25962 public TerminalNode BINARY() { return getToken(HiveStatementParser.BINARY, 0); }
25963 public TerminalNode SIGNED() { return getToken(HiveStatementParser.SIGNED, 0); }
25964 public TerminalNode SIGNED_INT() { return getToken(HiveStatementParser.SIGNED_INT, 0); }
25965 public TerminalNode SIGNED_INTEGER() { return getToken(HiveStatementParser.SIGNED_INTEGER, 0); }
25966 public TerminalNode CHAR_VARYING() { return getToken(HiveStatementParser.CHAR_VARYING, 0); }
25967 public TerminalNode CHARACTER_VARYING() { return getToken(HiveStatementParser.CHARACTER_VARYING, 0); }
25968 public TerminalNode VARCHAR() { return getToken(HiveStatementParser.VARCHAR, 0); }
25969 public TerminalNode VARYING() { return getToken(HiveStatementParser.VARYING, 0); }
25970 public TerminalNode NATIONAL() { return getToken(HiveStatementParser.NATIONAL, 0); }
25971 public TerminalNode NVARCHAR() { return getToken(HiveStatementParser.NVARCHAR, 0); }
25972 public TerminalNode NATIONAL_CHAR_VARYING() { return getToken(HiveStatementParser.NATIONAL_CHAR_VARYING, 0); }
25973 public TerminalNode VARBINARY() { return getToken(HiveStatementParser.VARBINARY, 0); }
25974 public TerminalNode YEAR() { return getToken(HiveStatementParser.YEAR, 0); }
25975 public TerminalNode DATE() { return getToken(HiveStatementParser.DATE, 0); }
25976 public TerminalNode TIME() { return getToken(HiveStatementParser.TIME, 0); }
25977 public TypeDatetimePrecisionContext typeDatetimePrecision() {
25978 return getRuleContext(TypeDatetimePrecisionContext.class,0);
25979 }
25980 public TerminalNode UNSIGNED() { return getToken(HiveStatementParser.UNSIGNED, 0); }
25981 public TerminalNode UNSIGNED_INT() { return getToken(HiveStatementParser.UNSIGNED_INT, 0); }
25982 public TerminalNode UNSIGNED_INTEGER() { return getToken(HiveStatementParser.UNSIGNED_INTEGER, 0); }
25983 public TerminalNode TIMESTAMP() { return getToken(HiveStatementParser.TIMESTAMP, 0); }
25984 public TerminalNode DATETIME() { return getToken(HiveStatementParser.DATETIME, 0); }
25985 public TerminalNode TINYBLOB() { return getToken(HiveStatementParser.TINYBLOB, 0); }
25986 public TerminalNode BLOB() { return getToken(HiveStatementParser.BLOB, 0); }
25987 public TerminalNode MEDIUMBLOB() { return getToken(HiveStatementParser.MEDIUMBLOB, 0); }
25988 public TerminalNode LONGBLOB() { return getToken(HiveStatementParser.LONGBLOB, 0); }
25989 public TerminalNode LONG() { return getToken(HiveStatementParser.LONG, 0); }
25990 public TerminalNode LONG_CHAR_VARYING() { return getToken(HiveStatementParser.LONG_CHAR_VARYING, 0); }
25991 public TerminalNode LONG_VARCHAR() { return getToken(HiveStatementParser.LONG_VARCHAR, 0); }
25992 public TerminalNode TINYTEXT() { return getToken(HiveStatementParser.TINYTEXT, 0); }
25993 public TerminalNode TEXT() { return getToken(HiveStatementParser.TEXT, 0); }
25994 public TerminalNode MEDIUMTEXT() { return getToken(HiveStatementParser.MEDIUMTEXT, 0); }
25995 public TerminalNode LONGTEXT() { return getToken(HiveStatementParser.LONGTEXT, 0); }
25996 public StringListContext stringList() {
25997 return getRuleContext(StringListContext.class,0);
25998 }
25999 public TerminalNode ENUM() { return getToken(HiveStatementParser.ENUM, 0); }
26000 public TerminalNode SET() { return getToken(HiveStatementParser.SET, 0); }
26001 public TerminalNode SERIAL() { return getToken(HiveStatementParser.SERIAL, 0); }
26002 public TerminalNode JSON() { return getToken(HiveStatementParser.JSON, 0); }
26003 public TerminalNode GEOMETRY() { return getToken(HiveStatementParser.GEOMETRY, 0); }
26004 public TerminalNode GEOMCOLLECTION() { return getToken(HiveStatementParser.GEOMCOLLECTION, 0); }
26005 public TerminalNode GEOMETRYCOLLECTION() { return getToken(HiveStatementParser.GEOMETRYCOLLECTION, 0); }
26006 public TerminalNode POINT() { return getToken(HiveStatementParser.POINT, 0); }
26007 public TerminalNode MULTIPOINT() { return getToken(HiveStatementParser.MULTIPOINT, 0); }
26008 public TerminalNode LINESTRING() { return getToken(HiveStatementParser.LINESTRING, 0); }
26009 public TerminalNode MULTILINESTRING() { return getToken(HiveStatementParser.MULTILINESTRING, 0); }
26010 public TerminalNode POLYGON() { return getToken(HiveStatementParser.POLYGON, 0); }
26011 public TerminalNode MULTIPOLYGON() { return getToken(HiveStatementParser.MULTIPOLYGON, 0); }
26012 public DataTypeContext(ParserRuleContext parent, int invokingState) {
26013 super(parent, invokingState);
26014 }
26015 @Override public int getRuleIndex() { return RULE_dataType; }
26016 @Override
26017 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26018 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDataType(this);
26019 else return visitor.visitChildren(this);
26020 }
26021 }
26022
26023 public final DataTypeContext dataType() throws RecognitionException {
26024 DataTypeContext _localctx = new DataTypeContext(_ctx, getState());
26025 enterRule(_localctx, 436, RULE_dataType);
26026 int _la;
26027 try {
26028 setState(2651);
26029 _errHandler.sync(this);
26030 switch ( getInterpreter().adaptivePredict(_input,326,_ctx) ) {
26031 case 1:
26032 enterOuterAlt(_localctx, 1);
26033 {
26034 setState(2504);
26035 ((DataTypeContext)_localctx).dataTypeName = _input.LT(1);
26036 _la = _input.LA(1);
26037 if ( !(_la==BIGINT || _la==INT || _la==INTEGER || _la==MEDIUMINT || _la==MIDDLEINT || _la==SMALLINT || _la==TINYINT) ) {
26038 ((DataTypeContext)_localctx).dataTypeName = (Token)_errHandler.recoverInline(this);
26039 }
26040 else {
26041 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26042 _errHandler.reportMatch(this);
26043 consume();
26044 }
26045 setState(2506);
26046 _errHandler.sync(this);
26047 switch ( getInterpreter().adaptivePredict(_input,291,_ctx) ) {
26048 case 1:
26049 {
26050 setState(2505);
26051 fieldLength();
26052 }
26053 break;
26054 }
26055 setState(2509);
26056 _errHandler.sync(this);
26057 switch ( getInterpreter().adaptivePredict(_input,292,_ctx) ) {
26058 case 1:
26059 {
26060 setState(2508);
26061 fieldOptions();
26062 }
26063 break;
26064 }
26065 }
26066 break;
26067 case 2:
26068 enterOuterAlt(_localctx, 2);
26069 {
26070 setState(2516);
26071 _errHandler.sync(this);
26072 switch (_input.LA(1)) {
26073 case REAL:
26074 {
26075 setState(2511);
26076 ((DataTypeContext)_localctx).dataTypeName = match(REAL);
26077 }
26078 break;
26079 case DOUBLE:
26080 {
26081 setState(2512);
26082 ((DataTypeContext)_localctx).dataTypeName = match(DOUBLE);
26083 setState(2514);
26084 _errHandler.sync(this);
26085 switch ( getInterpreter().adaptivePredict(_input,293,_ctx) ) {
26086 case 1:
26087 {
26088 setState(2513);
26089 match(PRECISION);
26090 }
26091 break;
26092 }
26093 }
26094 break;
26095 default:
26096 throw new NoViableAltException(this);
26097 }
26098 setState(2519);
26099 _errHandler.sync(this);
26100 switch ( getInterpreter().adaptivePredict(_input,295,_ctx) ) {
26101 case 1:
26102 {
26103 setState(2518);
26104 precision();
26105 }
26106 break;
26107 }
26108 setState(2522);
26109 _errHandler.sync(this);
26110 switch ( getInterpreter().adaptivePredict(_input,296,_ctx) ) {
26111 case 1:
26112 {
26113 setState(2521);
26114 fieldOptions();
26115 }
26116 break;
26117 }
26118 }
26119 break;
26120 case 3:
26121 enterOuterAlt(_localctx, 3);
26122 {
26123 setState(2524);
26124 ((DataTypeContext)_localctx).dataTypeName = _input.LT(1);
26125 _la = _input.LA(1);
26126 if ( !(_la==DECIMAL || _la==FIXED || _la==FLOAT || _la==NUMERIC) ) {
26127 ((DataTypeContext)_localctx).dataTypeName = (Token)_errHandler.recoverInline(this);
26128 }
26129 else {
26130 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26131 _errHandler.reportMatch(this);
26132 consume();
26133 }
26134 setState(2527);
26135 _errHandler.sync(this);
26136 switch ( getInterpreter().adaptivePredict(_input,297,_ctx) ) {
26137 case 1:
26138 {
26139 setState(2525);
26140 fieldLength();
26141 }
26142 break;
26143 case 2:
26144 {
26145 setState(2526);
26146 precision();
26147 }
26148 break;
26149 }
26150 setState(2530);
26151 _errHandler.sync(this);
26152 switch ( getInterpreter().adaptivePredict(_input,298,_ctx) ) {
26153 case 1:
26154 {
26155 setState(2529);
26156 fieldOptions();
26157 }
26158 break;
26159 }
26160 }
26161 break;
26162 case 4:
26163 enterOuterAlt(_localctx, 4);
26164 {
26165 setState(2532);
26166 ((DataTypeContext)_localctx).dataTypeName = match(BIT);
26167 setState(2534);
26168 _errHandler.sync(this);
26169 switch ( getInterpreter().adaptivePredict(_input,299,_ctx) ) {
26170 case 1:
26171 {
26172 setState(2533);
26173 fieldLength();
26174 }
26175 break;
26176 }
26177 }
26178 break;
26179 case 5:
26180 enterOuterAlt(_localctx, 5);
26181 {
26182 setState(2536);
26183 ((DataTypeContext)_localctx).dataTypeName = _input.LT(1);
26184 _la = _input.LA(1);
26185 if ( !(_la==BOOL || _la==BOOLEAN) ) {
26186 ((DataTypeContext)_localctx).dataTypeName = (Token)_errHandler.recoverInline(this);
26187 }
26188 else {
26189 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26190 _errHandler.reportMatch(this);
26191 consume();
26192 }
26193 }
26194 break;
26195 case 6:
26196 enterOuterAlt(_localctx, 6);
26197 {
26198 setState(2537);
26199 ((DataTypeContext)_localctx).dataTypeName = match(CHAR);
26200 setState(2539);
26201 _errHandler.sync(this);
26202 switch ( getInterpreter().adaptivePredict(_input,300,_ctx) ) {
26203 case 1:
26204 {
26205 setState(2538);
26206 fieldLength();
26207 }
26208 break;
26209 }
26210 setState(2542);
26211 _errHandler.sync(this);
26212 switch ( getInterpreter().adaptivePredict(_input,301,_ctx) ) {
26213 case 1:
26214 {
26215 setState(2541);
26216 charsetWithOptBinary();
26217 }
26218 break;
26219 }
26220 }
26221 break;
26222 case 7:
26223 enterOuterAlt(_localctx, 7);
26224 {
26225 setState(2546);
26226 _errHandler.sync(this);
26227 switch (_input.LA(1)) {
26228 case NCHAR:
26229 {
26230 setState(2544);
26231 ((DataTypeContext)_localctx).dataTypeName = match(NCHAR);
26232 }
26233 break;
26234 case NATIONAL_CHAR:
26235 {
26236 setState(2545);
26237 ((DataTypeContext)_localctx).dataTypeName = match(NATIONAL_CHAR);
26238 }
26239 break;
26240 default:
26241 throw new NoViableAltException(this);
26242 }
26243 setState(2549);
26244 _errHandler.sync(this);
26245 switch ( getInterpreter().adaptivePredict(_input,303,_ctx) ) {
26246 case 1:
26247 {
26248 setState(2548);
26249 fieldLength();
26250 }
26251 break;
26252 }
26253 setState(2552);
26254 _errHandler.sync(this);
26255 switch ( getInterpreter().adaptivePredict(_input,304,_ctx) ) {
26256 case 1:
26257 {
26258 setState(2551);
26259 match(BINARY);
26260 }
26261 break;
26262 }
26263 }
26264 break;
26265 case 8:
26266 enterOuterAlt(_localctx, 8);
26267 {
26268 setState(2554);
26269 ((DataTypeContext)_localctx).dataTypeName = _input.LT(1);
26270 _la = _input.LA(1);
26271 if ( !(((((_la - 642)) & ~0x3f) == 0 && ((1L << (_la - 642)) & ((1L << (SIGNED - 642)) | (1L << (SIGNED_INT - 642)) | (1L << (SIGNED_INTEGER - 642)))) != 0)) ) {
26272 ((DataTypeContext)_localctx).dataTypeName = (Token)_errHandler.recoverInline(this);
26273 }
26274 else {
26275 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26276 _errHandler.reportMatch(this);
26277 consume();
26278 }
26279 }
26280 break;
26281 case 9:
26282 enterOuterAlt(_localctx, 9);
26283 {
26284 setState(2555);
26285 ((DataTypeContext)_localctx).dataTypeName = match(BINARY);
26286 setState(2557);
26287 _errHandler.sync(this);
26288 switch ( getInterpreter().adaptivePredict(_input,305,_ctx) ) {
26289 case 1:
26290 {
26291 setState(2556);
26292 fieldLength();
26293 }
26294 break;
26295 }
26296 }
26297 break;
26298 case 10:
26299 enterOuterAlt(_localctx, 10);
26300 {
26301 setState(2562);
26302 _errHandler.sync(this);
26303 switch (_input.LA(1)) {
26304 case CHAR_VARYING:
26305 {
26306 setState(2559);
26307 ((DataTypeContext)_localctx).dataTypeName = match(CHAR_VARYING);
26308 }
26309 break;
26310 case CHARACTER_VARYING:
26311 {
26312 setState(2560);
26313 ((DataTypeContext)_localctx).dataTypeName = match(CHARACTER_VARYING);
26314 }
26315 break;
26316 case VARCHAR:
26317 {
26318 setState(2561);
26319 ((DataTypeContext)_localctx).dataTypeName = match(VARCHAR);
26320 }
26321 break;
26322 default:
26323 throw new NoViableAltException(this);
26324 }
26325 setState(2564);
26326 fieldLength();
26327 setState(2566);
26328 _errHandler.sync(this);
26329 switch ( getInterpreter().adaptivePredict(_input,307,_ctx) ) {
26330 case 1:
26331 {
26332 setState(2565);
26333 charsetWithOptBinary();
26334 }
26335 break;
26336 }
26337 }
26338 break;
26339 case 11:
26340 enterOuterAlt(_localctx, 11);
26341 {
26342 setState(2576);
26343 _errHandler.sync(this);
26344 switch ( getInterpreter().adaptivePredict(_input,308,_ctx) ) {
26345 case 1:
26346 {
26347 setState(2568);
26348 ((DataTypeContext)_localctx).dataTypeName = match(NATIONAL);
26349 setState(2569);
26350 match(VARCHAR);
26351 }
26352 break;
26353 case 2:
26354 {
26355 setState(2570);
26356 ((DataTypeContext)_localctx).dataTypeName = match(NVARCHAR);
26357 }
26358 break;
26359 case 3:
26360 {
26361 setState(2571);
26362 ((DataTypeContext)_localctx).dataTypeName = match(NCHAR);
26363 setState(2572);
26364 match(VARCHAR);
26365 }
26366 break;
26367 case 4:
26368 {
26369 setState(2573);
26370 ((DataTypeContext)_localctx).dataTypeName = match(NATIONAL_CHAR_VARYING);
26371 }
26372 break;
26373 case 5:
26374 {
26375 setState(2574);
26376 ((DataTypeContext)_localctx).dataTypeName = match(NCHAR);
26377 setState(2575);
26378 match(VARYING);
26379 }
26380 break;
26381 }
26382 setState(2578);
26383 fieldLength();
26384 setState(2580);
26385 _errHandler.sync(this);
26386 switch ( getInterpreter().adaptivePredict(_input,309,_ctx) ) {
26387 case 1:
26388 {
26389 setState(2579);
26390 match(BINARY);
26391 }
26392 break;
26393 }
26394 }
26395 break;
26396 case 12:
26397 enterOuterAlt(_localctx, 12);
26398 {
26399 setState(2582);
26400 ((DataTypeContext)_localctx).dataTypeName = match(VARBINARY);
26401 setState(2584);
26402 _errHandler.sync(this);
26403 switch ( getInterpreter().adaptivePredict(_input,310,_ctx) ) {
26404 case 1:
26405 {
26406 setState(2583);
26407 fieldLength();
26408 }
26409 break;
26410 }
26411 }
26412 break;
26413 case 13:
26414 enterOuterAlt(_localctx, 13);
26415 {
26416 setState(2586);
26417 ((DataTypeContext)_localctx).dataTypeName = match(YEAR);
26418 setState(2588);
26419 _errHandler.sync(this);
26420 switch ( getInterpreter().adaptivePredict(_input,311,_ctx) ) {
26421 case 1:
26422 {
26423 setState(2587);
26424 fieldLength();
26425 }
26426 break;
26427 }
26428 setState(2591);
26429 _errHandler.sync(this);
26430 switch ( getInterpreter().adaptivePredict(_input,312,_ctx) ) {
26431 case 1:
26432 {
26433 setState(2590);
26434 fieldOptions();
26435 }
26436 break;
26437 }
26438 }
26439 break;
26440 case 14:
26441 enterOuterAlt(_localctx, 14);
26442 {
26443 setState(2593);
26444 ((DataTypeContext)_localctx).dataTypeName = match(DATE);
26445 }
26446 break;
26447 case 15:
26448 enterOuterAlt(_localctx, 15);
26449 {
26450 setState(2594);
26451 ((DataTypeContext)_localctx).dataTypeName = match(TIME);
26452 setState(2596);
26453 _errHandler.sync(this);
26454 switch ( getInterpreter().adaptivePredict(_input,313,_ctx) ) {
26455 case 1:
26456 {
26457 setState(2595);
26458 typeDatetimePrecision();
26459 }
26460 break;
26461 }
26462 }
26463 break;
26464 case 16:
26465 enterOuterAlt(_localctx, 16);
26466 {
26467 setState(2598);
26468 ((DataTypeContext)_localctx).dataTypeName = _input.LT(1);
26469 _la = _input.LA(1);
26470 if ( !(((((_la - 764)) & ~0x3f) == 0 && ((1L << (_la - 764)) & ((1L << (UNSIGNED - 764)) | (1L << (UNSIGNED_INT - 764)) | (1L << (UNSIGNED_INTEGER - 764)))) != 0)) ) {
26471 ((DataTypeContext)_localctx).dataTypeName = (Token)_errHandler.recoverInline(this);
26472 }
26473 else {
26474 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26475 _errHandler.reportMatch(this);
26476 consume();
26477 }
26478 }
26479 break;
26480 case 17:
26481 enterOuterAlt(_localctx, 17);
26482 {
26483 setState(2599);
26484 ((DataTypeContext)_localctx).dataTypeName = match(TIMESTAMP);
26485 setState(2601);
26486 _errHandler.sync(this);
26487 switch ( getInterpreter().adaptivePredict(_input,314,_ctx) ) {
26488 case 1:
26489 {
26490 setState(2600);
26491 typeDatetimePrecision();
26492 }
26493 break;
26494 }
26495 }
26496 break;
26497 case 18:
26498 enterOuterAlt(_localctx, 18);
26499 {
26500 setState(2603);
26501 ((DataTypeContext)_localctx).dataTypeName = match(DATETIME);
26502 setState(2605);
26503 _errHandler.sync(this);
26504 switch ( getInterpreter().adaptivePredict(_input,315,_ctx) ) {
26505 case 1:
26506 {
26507 setState(2604);
26508 typeDatetimePrecision();
26509 }
26510 break;
26511 }
26512 }
26513 break;
26514 case 19:
26515 enterOuterAlt(_localctx, 19);
26516 {
26517 setState(2607);
26518 ((DataTypeContext)_localctx).dataTypeName = match(TINYBLOB);
26519 }
26520 break;
26521 case 20:
26522 enterOuterAlt(_localctx, 20);
26523 {
26524 setState(2608);
26525 ((DataTypeContext)_localctx).dataTypeName = match(BLOB);
26526 setState(2610);
26527 _errHandler.sync(this);
26528 switch ( getInterpreter().adaptivePredict(_input,316,_ctx) ) {
26529 case 1:
26530 {
26531 setState(2609);
26532 fieldLength();
26533 }
26534 break;
26535 }
26536 }
26537 break;
26538 case 21:
26539 enterOuterAlt(_localctx, 21);
26540 {
26541 setState(2612);
26542 ((DataTypeContext)_localctx).dataTypeName = _input.LT(1);
26543 _la = _input.LA(1);
26544 if ( !(_la==LONGBLOB || _la==MEDIUMBLOB) ) {
26545 ((DataTypeContext)_localctx).dataTypeName = (Token)_errHandler.recoverInline(this);
26546 }
26547 else {
26548 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26549 _errHandler.reportMatch(this);
26550 consume();
26551 }
26552 }
26553 break;
26554 case 22:
26555 enterOuterAlt(_localctx, 22);
26556 {
26557 setState(2613);
26558 ((DataTypeContext)_localctx).dataTypeName = match(LONG);
26559 setState(2614);
26560 match(VARBINARY);
26561 }
26562 break;
26563 case 23:
26564 enterOuterAlt(_localctx, 23);
26565 {
26566 setState(2616);
26567 _errHandler.sync(this);
26568 switch ( getInterpreter().adaptivePredict(_input,317,_ctx) ) {
26569 case 1:
26570 {
26571 setState(2615);
26572 ((DataTypeContext)_localctx).dataTypeName = _input.LT(1);
26573 _la = _input.LA(1);
26574 if ( !(_la==LONG_CHAR_VARYING || _la==LONG_VARCHAR) ) {
26575 ((DataTypeContext)_localctx).dataTypeName = (Token)_errHandler.recoverInline(this);
26576 }
26577 else {
26578 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26579 _errHandler.reportMatch(this);
26580 consume();
26581 }
26582 }
26583 break;
26584 }
26585 setState(2619);
26586 _errHandler.sync(this);
26587 switch ( getInterpreter().adaptivePredict(_input,318,_ctx) ) {
26588 case 1:
26589 {
26590 setState(2618);
26591 charsetWithOptBinary();
26592 }
26593 break;
26594 }
26595 }
26596 break;
26597 case 24:
26598 enterOuterAlt(_localctx, 24);
26599 {
26600 setState(2621);
26601 ((DataTypeContext)_localctx).dataTypeName = match(TINYTEXT);
26602 setState(2623);
26603 _errHandler.sync(this);
26604 switch ( getInterpreter().adaptivePredict(_input,319,_ctx) ) {
26605 case 1:
26606 {
26607 setState(2622);
26608 charsetWithOptBinary();
26609 }
26610 break;
26611 }
26612 }
26613 break;
26614 case 25:
26615 enterOuterAlt(_localctx, 25);
26616 {
26617 setState(2625);
26618 ((DataTypeContext)_localctx).dataTypeName = match(TEXT);
26619 setState(2627);
26620 _errHandler.sync(this);
26621 switch ( getInterpreter().adaptivePredict(_input,320,_ctx) ) {
26622 case 1:
26623 {
26624 setState(2626);
26625 fieldLength();
26626 }
26627 break;
26628 }
26629 setState(2630);
26630 _errHandler.sync(this);
26631 switch ( getInterpreter().adaptivePredict(_input,321,_ctx) ) {
26632 case 1:
26633 {
26634 setState(2629);
26635 charsetWithOptBinary();
26636 }
26637 break;
26638 }
26639 }
26640 break;
26641 case 26:
26642 enterOuterAlt(_localctx, 26);
26643 {
26644 setState(2632);
26645 ((DataTypeContext)_localctx).dataTypeName = match(MEDIUMTEXT);
26646 setState(2634);
26647 _errHandler.sync(this);
26648 switch ( getInterpreter().adaptivePredict(_input,322,_ctx) ) {
26649 case 1:
26650 {
26651 setState(2633);
26652 charsetWithOptBinary();
26653 }
26654 break;
26655 }
26656 }
26657 break;
26658 case 27:
26659 enterOuterAlt(_localctx, 27);
26660 {
26661 setState(2636);
26662 ((DataTypeContext)_localctx).dataTypeName = match(LONGTEXT);
26663 setState(2638);
26664 _errHandler.sync(this);
26665 switch ( getInterpreter().adaptivePredict(_input,323,_ctx) ) {
26666 case 1:
26667 {
26668 setState(2637);
26669 charsetWithOptBinary();
26670 }
26671 break;
26672 }
26673 }
26674 break;
26675 case 28:
26676 enterOuterAlt(_localctx, 28);
26677 {
26678 setState(2640);
26679 ((DataTypeContext)_localctx).dataTypeName = match(ENUM);
26680 setState(2641);
26681 stringList();
26682 setState(2643);
26683 _errHandler.sync(this);
26684 switch ( getInterpreter().adaptivePredict(_input,324,_ctx) ) {
26685 case 1:
26686 {
26687 setState(2642);
26688 charsetWithOptBinary();
26689 }
26690 break;
26691 }
26692 }
26693 break;
26694 case 29:
26695 enterOuterAlt(_localctx, 29);
26696 {
26697 setState(2645);
26698 ((DataTypeContext)_localctx).dataTypeName = match(SET);
26699 setState(2646);
26700 stringList();
26701 setState(2648);
26702 _errHandler.sync(this);
26703 switch ( getInterpreter().adaptivePredict(_input,325,_ctx) ) {
26704 case 1:
26705 {
26706 setState(2647);
26707 charsetWithOptBinary();
26708 }
26709 break;
26710 }
26711 }
26712 break;
26713 case 30:
26714 enterOuterAlt(_localctx, 30);
26715 {
26716 setState(2650);
26717 ((DataTypeContext)_localctx).dataTypeName = _input.LT(1);
26718 _la = _input.LA(1);
26719 if ( !(((((_la - 283)) & ~0x3f) == 0 && ((1L << (_la - 283)) & ((1L << (GEOMETRY - 283)) | (1L << (GEOMCOLLECTION - 283)) | (1L << (GEOMETRYCOLLECTION - 283)))) != 0) || _la==JSON || _la==LINESTRING || ((((_la - 447)) & ~0x3f) == 0 && ((1L << (_la - 447)) & ((1L << (MULTILINESTRING - 447)) | (1L << (MULTIPOINT - 447)) | (1L << (MULTIPOLYGON - 447)))) != 0) || _la==POINT || _la==POLYGON || _la==SERIAL) ) {
26720 ((DataTypeContext)_localctx).dataTypeName = (Token)_errHandler.recoverInline(this);
26721 }
26722 else {
26723 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26724 _errHandler.reportMatch(this);
26725 consume();
26726 }
26727 }
26728 break;
26729 }
26730 }
26731 catch (RecognitionException re) {
26732 _localctx.exception = re;
26733 _errHandler.reportError(this, re);
26734 _errHandler.recover(this, re);
26735 }
26736 finally {
26737 exitRule();
26738 }
26739 return _localctx;
26740 }
26741
26742 public static class StringListContext extends ParserRuleContext {
26743 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
26744 public List<TextStringContext> textString() {
26745 return getRuleContexts(TextStringContext.class);
26746 }
26747 public TextStringContext textString(int i) {
26748 return getRuleContext(TextStringContext.class,i);
26749 }
26750 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
26751 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
26752 public TerminalNode COMMA_(int i) {
26753 return getToken(HiveStatementParser.COMMA_, i);
26754 }
26755 public StringListContext(ParserRuleContext parent, int invokingState) {
26756 super(parent, invokingState);
26757 }
26758 @Override public int getRuleIndex() { return RULE_stringList; }
26759 @Override
26760 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26761 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitStringList(this);
26762 else return visitor.visitChildren(this);
26763 }
26764 }
26765
26766 public final StringListContext stringList() throws RecognitionException {
26767 StringListContext _localctx = new StringListContext(_ctx, getState());
26768 enterRule(_localctx, 438, RULE_stringList);
26769 int _la;
26770 try {
26771 enterOuterAlt(_localctx, 1);
26772 {
26773 setState(2653);
26774 match(LP_);
26775 setState(2654);
26776 textString();
26777 setState(2659);
26778 _errHandler.sync(this);
26779 _la = _input.LA(1);
26780 while (_la==COMMA_) {
26781 {
26782 {
26783 setState(2655);
26784 match(COMMA_);
26785 setState(2656);
26786 textString();
26787 }
26788 }
26789 setState(2661);
26790 _errHandler.sync(this);
26791 _la = _input.LA(1);
26792 }
26793 setState(2662);
26794 match(RP_);
26795 }
26796 }
26797 catch (RecognitionException re) {
26798 _localctx.exception = re;
26799 _errHandler.reportError(this, re);
26800 _errHandler.recover(this, re);
26801 }
26802 finally {
26803 exitRule();
26804 }
26805 return _localctx;
26806 }
26807
26808 public static class TextStringContext extends ParserRuleContext {
26809 public String_Context string_() {
26810 return getRuleContext(String_Context.class,0);
26811 }
26812 public TerminalNode HEX_DIGIT_() { return getToken(HiveStatementParser.HEX_DIGIT_, 0); }
26813 public TerminalNode BIT_NUM_() { return getToken(HiveStatementParser.BIT_NUM_, 0); }
26814 public TextStringContext(ParserRuleContext parent, int invokingState) {
26815 super(parent, invokingState);
26816 }
26817 @Override public int getRuleIndex() { return RULE_textString; }
26818 @Override
26819 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26820 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTextString(this);
26821 else return visitor.visitChildren(this);
26822 }
26823 }
26824
26825 public final TextStringContext textString() throws RecognitionException {
26826 TextStringContext _localctx = new TextStringContext(_ctx, getState());
26827 enterRule(_localctx, 440, RULE_textString);
26828 try {
26829 setState(2667);
26830 _errHandler.sync(this);
26831 switch (_input.LA(1)) {
26832 case SINGLE_QUOTED_TEXT:
26833 case DOUBLE_QUOTED_TEXT:
26834 enterOuterAlt(_localctx, 1);
26835 {
26836 setState(2664);
26837 string_();
26838 }
26839 break;
26840 case HEX_DIGIT_:
26841 enterOuterAlt(_localctx, 2);
26842 {
26843 setState(2665);
26844 match(HEX_DIGIT_);
26845 }
26846 break;
26847 case BIT_NUM_:
26848 enterOuterAlt(_localctx, 3);
26849 {
26850 setState(2666);
26851 match(BIT_NUM_);
26852 }
26853 break;
26854 default:
26855 throw new NoViableAltException(this);
26856 }
26857 }
26858 catch (RecognitionException re) {
26859 _localctx.exception = re;
26860 _errHandler.reportError(this, re);
26861 _errHandler.recover(this, re);
26862 }
26863 finally {
26864 exitRule();
26865 }
26866 return _localctx;
26867 }
26868
26869 public static class TextStringHashContext extends ParserRuleContext {
26870 public String_Context string_() {
26871 return getRuleContext(String_Context.class,0);
26872 }
26873 public TerminalNode HEX_DIGIT_() { return getToken(HiveStatementParser.HEX_DIGIT_, 0); }
26874 public TextStringHashContext(ParserRuleContext parent, int invokingState) {
26875 super(parent, invokingState);
26876 }
26877 @Override public int getRuleIndex() { return RULE_textStringHash; }
26878 @Override
26879 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26880 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTextStringHash(this);
26881 else return visitor.visitChildren(this);
26882 }
26883 }
26884
26885 public final TextStringHashContext textStringHash() throws RecognitionException {
26886 TextStringHashContext _localctx = new TextStringHashContext(_ctx, getState());
26887 enterRule(_localctx, 442, RULE_textStringHash);
26888 try {
26889 setState(2671);
26890 _errHandler.sync(this);
26891 switch (_input.LA(1)) {
26892 case SINGLE_QUOTED_TEXT:
26893 case DOUBLE_QUOTED_TEXT:
26894 enterOuterAlt(_localctx, 1);
26895 {
26896 setState(2669);
26897 string_();
26898 }
26899 break;
26900 case HEX_DIGIT_:
26901 enterOuterAlt(_localctx, 2);
26902 {
26903 setState(2670);
26904 match(HEX_DIGIT_);
26905 }
26906 break;
26907 default:
26908 throw new NoViableAltException(this);
26909 }
26910 }
26911 catch (RecognitionException re) {
26912 _localctx.exception = re;
26913 _errHandler.reportError(this, re);
26914 _errHandler.recover(this, re);
26915 }
26916 finally {
26917 exitRule();
26918 }
26919 return _localctx;
26920 }
26921
26922 public static class FieldOptionsContext extends ParserRuleContext {
26923 public List<TerminalNode> UNSIGNED() { return getTokens(HiveStatementParser.UNSIGNED); }
26924 public TerminalNode UNSIGNED(int i) {
26925 return getToken(HiveStatementParser.UNSIGNED, i);
26926 }
26927 public List<TerminalNode> SIGNED() { return getTokens(HiveStatementParser.SIGNED); }
26928 public TerminalNode SIGNED(int i) {
26929 return getToken(HiveStatementParser.SIGNED, i);
26930 }
26931 public List<TerminalNode> ZEROFILL() { return getTokens(HiveStatementParser.ZEROFILL); }
26932 public TerminalNode ZEROFILL(int i) {
26933 return getToken(HiveStatementParser.ZEROFILL, i);
26934 }
26935 public FieldOptionsContext(ParserRuleContext parent, int invokingState) {
26936 super(parent, invokingState);
26937 }
26938 @Override public int getRuleIndex() { return RULE_fieldOptions; }
26939 @Override
26940 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26941 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFieldOptions(this);
26942 else return visitor.visitChildren(this);
26943 }
26944 }
26945
26946 public final FieldOptionsContext fieldOptions() throws RecognitionException {
26947 FieldOptionsContext _localctx = new FieldOptionsContext(_ctx, getState());
26948 enterRule(_localctx, 444, RULE_fieldOptions);
26949 int _la;
26950 try {
26951 int _alt;
26952 enterOuterAlt(_localctx, 1);
26953 {
26954 setState(2674);
26955 _errHandler.sync(this);
26956 _alt = 1;
26957 do {
26958 switch (_alt) {
26959 case 1:
26960 {
26961 {
26962 setState(2673);
26963 _la = _input.LA(1);
26964 if ( !(_la==SIGNED || _la==UNSIGNED || _la==ZEROFILL) ) {
26965 _errHandler.recoverInline(this);
26966 }
26967 else {
26968 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26969 _errHandler.reportMatch(this);
26970 consume();
26971 }
26972 }
26973 }
26974 break;
26975 default:
26976 throw new NoViableAltException(this);
26977 }
26978 setState(2676);
26979 _errHandler.sync(this);
26980 _alt = getInterpreter().adaptivePredict(_input,330,_ctx);
26981 } while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
26982 }
26983 }
26984 catch (RecognitionException re) {
26985 _localctx.exception = re;
26986 _errHandler.reportError(this, re);
26987 _errHandler.recover(this, re);
26988 }
26989 finally {
26990 exitRule();
26991 }
26992 return _localctx;
26993 }
26994
26995 public static class PrecisionContext extends ParserRuleContext {
26996 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
26997 public List<TerminalNode> NUMBER_() { return getTokens(HiveStatementParser.NUMBER_); }
26998 public TerminalNode NUMBER_(int i) {
26999 return getToken(HiveStatementParser.NUMBER_, i);
27000 }
27001 public TerminalNode COMMA_() { return getToken(HiveStatementParser.COMMA_, 0); }
27002 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
27003 public PrecisionContext(ParserRuleContext parent, int invokingState) {
27004 super(parent, invokingState);
27005 }
27006 @Override public int getRuleIndex() { return RULE_precision; }
27007 @Override
27008 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27009 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitPrecision(this);
27010 else return visitor.visitChildren(this);
27011 }
27012 }
27013
27014 public final PrecisionContext precision() throws RecognitionException {
27015 PrecisionContext _localctx = new PrecisionContext(_ctx, getState());
27016 enterRule(_localctx, 446, RULE_precision);
27017 try {
27018 enterOuterAlt(_localctx, 1);
27019 {
27020 setState(2678);
27021 match(LP_);
27022 setState(2679);
27023 match(NUMBER_);
27024 setState(2680);
27025 match(COMMA_);
27026 setState(2681);
27027 match(NUMBER_);
27028 setState(2682);
27029 match(RP_);
27030 }
27031 }
27032 catch (RecognitionException re) {
27033 _localctx.exception = re;
27034 _errHandler.reportError(this, re);
27035 _errHandler.recover(this, re);
27036 }
27037 finally {
27038 exitRule();
27039 }
27040 return _localctx;
27041 }
27042
27043 public static class TypeDatetimePrecisionContext extends ParserRuleContext {
27044 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
27045 public TerminalNode NUMBER_() { return getToken(HiveStatementParser.NUMBER_, 0); }
27046 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
27047 public TypeDatetimePrecisionContext(ParserRuleContext parent, int invokingState) {
27048 super(parent, invokingState);
27049 }
27050 @Override public int getRuleIndex() { return RULE_typeDatetimePrecision; }
27051 @Override
27052 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27053 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitTypeDatetimePrecision(this);
27054 else return visitor.visitChildren(this);
27055 }
27056 }
27057
27058 public final TypeDatetimePrecisionContext typeDatetimePrecision() throws RecognitionException {
27059 TypeDatetimePrecisionContext _localctx = new TypeDatetimePrecisionContext(_ctx, getState());
27060 enterRule(_localctx, 448, RULE_typeDatetimePrecision);
27061 try {
27062 enterOuterAlt(_localctx, 1);
27063 {
27064 setState(2684);
27065 match(LP_);
27066 setState(2685);
27067 match(NUMBER_);
27068 setState(2686);
27069 match(RP_);
27070 }
27071 }
27072 catch (RecognitionException re) {
27073 _localctx.exception = re;
27074 _errHandler.reportError(this, re);
27075 _errHandler.recover(this, re);
27076 }
27077 finally {
27078 exitRule();
27079 }
27080 return _localctx;
27081 }
27082
27083 public static class CharsetWithOptBinaryContext extends ParserRuleContext {
27084 public AsciiContext ascii() {
27085 return getRuleContext(AsciiContext.class,0);
27086 }
27087 public UnicodeContext unicode() {
27088 return getRuleContext(UnicodeContext.class,0);
27089 }
27090 public TerminalNode BYTE() { return getToken(HiveStatementParser.BYTE, 0); }
27091 public CharsetContext charset() {
27092 return getRuleContext(CharsetContext.class,0);
27093 }
27094 public CharsetNameContext charsetName() {
27095 return getRuleContext(CharsetNameContext.class,0);
27096 }
27097 public TerminalNode BINARY() { return getToken(HiveStatementParser.BINARY, 0); }
27098 public CharsetWithOptBinaryContext(ParserRuleContext parent, int invokingState) {
27099 super(parent, invokingState);
27100 }
27101 @Override public int getRuleIndex() { return RULE_charsetWithOptBinary; }
27102 @Override
27103 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27104 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCharsetWithOptBinary(this);
27105 else return visitor.visitChildren(this);
27106 }
27107 }
27108
27109 public final CharsetWithOptBinaryContext charsetWithOptBinary() throws RecognitionException {
27110 CharsetWithOptBinaryContext _localctx = new CharsetWithOptBinaryContext(_ctx, getState());
27111 enterRule(_localctx, 450, RULE_charsetWithOptBinary);
27112 try {
27113 setState(2702);
27114 _errHandler.sync(this);
27115 switch ( getInterpreter().adaptivePredict(_input,333,_ctx) ) {
27116 case 1:
27117 enterOuterAlt(_localctx, 1);
27118 {
27119 setState(2688);
27120 ascii();
27121 }
27122 break;
27123 case 2:
27124 enterOuterAlt(_localctx, 2);
27125 {
27126 setState(2689);
27127 unicode();
27128 }
27129 break;
27130 case 3:
27131 enterOuterAlt(_localctx, 3);
27132 {
27133 setState(2690);
27134 match(BYTE);
27135 }
27136 break;
27137 case 4:
27138 enterOuterAlt(_localctx, 4);
27139 {
27140 setState(2691);
27141 charset();
27142 setState(2692);
27143 charsetName();
27144 setState(2694);
27145 _errHandler.sync(this);
27146 switch ( getInterpreter().adaptivePredict(_input,331,_ctx) ) {
27147 case 1:
27148 {
27149 setState(2693);
27150 match(BINARY);
27151 }
27152 break;
27153 }
27154 }
27155 break;
27156 case 5:
27157 enterOuterAlt(_localctx, 5);
27158 {
27159 setState(2696);
27160 match(BINARY);
27161 setState(2700);
27162 _errHandler.sync(this);
27163 switch ( getInterpreter().adaptivePredict(_input,332,_ctx) ) {
27164 case 1:
27165 {
27166 setState(2697);
27167 charset();
27168 setState(2698);
27169 charsetName();
27170 }
27171 break;
27172 }
27173 }
27174 break;
27175 }
27176 }
27177 catch (RecognitionException re) {
27178 _localctx.exception = re;
27179 _errHandler.reportError(this, re);
27180 _errHandler.recover(this, re);
27181 }
27182 finally {
27183 exitRule();
27184 }
27185 return _localctx;
27186 }
27187
27188 public static class AsciiContext extends ParserRuleContext {
27189 public TerminalNode ASCII() { return getToken(HiveStatementParser.ASCII, 0); }
27190 public TerminalNode BINARY() { return getToken(HiveStatementParser.BINARY, 0); }
27191 public AsciiContext(ParserRuleContext parent, int invokingState) {
27192 super(parent, invokingState);
27193 }
27194 @Override public int getRuleIndex() { return RULE_ascii; }
27195 @Override
27196 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27197 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitAscii(this);
27198 else return visitor.visitChildren(this);
27199 }
27200 }
27201
27202 public final AsciiContext ascii() throws RecognitionException {
27203 AsciiContext _localctx = new AsciiContext(_ctx, getState());
27204 enterRule(_localctx, 452, RULE_ascii);
27205 try {
27206 setState(2710);
27207 _errHandler.sync(this);
27208 switch (_input.LA(1)) {
27209 case ASCII:
27210 enterOuterAlt(_localctx, 1);
27211 {
27212 setState(2704);
27213 match(ASCII);
27214 setState(2706);
27215 _errHandler.sync(this);
27216 switch ( getInterpreter().adaptivePredict(_input,334,_ctx) ) {
27217 case 1:
27218 {
27219 setState(2705);
27220 match(BINARY);
27221 }
27222 break;
27223 }
27224 }
27225 break;
27226 case BINARY:
27227 enterOuterAlt(_localctx, 2);
27228 {
27229 setState(2708);
27230 match(BINARY);
27231 setState(2709);
27232 match(ASCII);
27233 }
27234 break;
27235 default:
27236 throw new NoViableAltException(this);
27237 }
27238 }
27239 catch (RecognitionException re) {
27240 _localctx.exception = re;
27241 _errHandler.reportError(this, re);
27242 _errHandler.recover(this, re);
27243 }
27244 finally {
27245 exitRule();
27246 }
27247 return _localctx;
27248 }
27249
27250 public static class UnicodeContext extends ParserRuleContext {
27251 public TerminalNode UNICODE() { return getToken(HiveStatementParser.UNICODE, 0); }
27252 public TerminalNode BINARY() { return getToken(HiveStatementParser.BINARY, 0); }
27253 public UnicodeContext(ParserRuleContext parent, int invokingState) {
27254 super(parent, invokingState);
27255 }
27256 @Override public int getRuleIndex() { return RULE_unicode; }
27257 @Override
27258 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27259 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitUnicode(this);
27260 else return visitor.visitChildren(this);
27261 }
27262 }
27263
27264 public final UnicodeContext unicode() throws RecognitionException {
27265 UnicodeContext _localctx = new UnicodeContext(_ctx, getState());
27266 enterRule(_localctx, 454, RULE_unicode);
27267 try {
27268 setState(2718);
27269 _errHandler.sync(this);
27270 switch (_input.LA(1)) {
27271 case UNICODE:
27272 enterOuterAlt(_localctx, 1);
27273 {
27274 setState(2712);
27275 match(UNICODE);
27276 setState(2714);
27277 _errHandler.sync(this);
27278 switch ( getInterpreter().adaptivePredict(_input,336,_ctx) ) {
27279 case 1:
27280 {
27281 setState(2713);
27282 match(BINARY);
27283 }
27284 break;
27285 }
27286 }
27287 break;
27288 case BINARY:
27289 enterOuterAlt(_localctx, 2);
27290 {
27291 setState(2716);
27292 match(BINARY);
27293 setState(2717);
27294 match(UNICODE);
27295 }
27296 break;
27297 default:
27298 throw new NoViableAltException(this);
27299 }
27300 }
27301 catch (RecognitionException re) {
27302 _localctx.exception = re;
27303 _errHandler.reportError(this, re);
27304 _errHandler.recover(this, re);
27305 }
27306 finally {
27307 exitRule();
27308 }
27309 return _localctx;
27310 }
27311
27312 public static class CharsetContext extends ParserRuleContext {
27313 public TerminalNode SET() { return getToken(HiveStatementParser.SET, 0); }
27314 public TerminalNode CHAR() { return getToken(HiveStatementParser.CHAR, 0); }
27315 public TerminalNode CHARACTER() { return getToken(HiveStatementParser.CHARACTER, 0); }
27316 public TerminalNode CHARSET() { return getToken(HiveStatementParser.CHARSET, 0); }
27317 public CharsetContext(ParserRuleContext parent, int invokingState) {
27318 super(parent, invokingState);
27319 }
27320 @Override public int getRuleIndex() { return RULE_charset; }
27321 @Override
27322 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27323 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCharset(this);
27324 else return visitor.visitChildren(this);
27325 }
27326 }
27327
27328 public final CharsetContext charset() throws RecognitionException {
27329 CharsetContext _localctx = new CharsetContext(_ctx, getState());
27330 enterRule(_localctx, 456, RULE_charset);
27331 int _la;
27332 try {
27333 setState(2723);
27334 _errHandler.sync(this);
27335 switch (_input.LA(1)) {
27336 case CHAR:
27337 case CHARACTER:
27338 enterOuterAlt(_localctx, 1);
27339 {
27340 setState(2720);
27341 _la = _input.LA(1);
27342 if ( !(_la==CHAR || _la==CHARACTER) ) {
27343 _errHandler.recoverInline(this);
27344 }
27345 else {
27346 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27347 _errHandler.reportMatch(this);
27348 consume();
27349 }
27350 setState(2721);
27351 match(SET);
27352 }
27353 break;
27354 case CHARSET:
27355 enterOuterAlt(_localctx, 2);
27356 {
27357 setState(2722);
27358 match(CHARSET);
27359 }
27360 break;
27361 default:
27362 throw new NoViableAltException(this);
27363 }
27364 }
27365 catch (RecognitionException re) {
27366 _localctx.exception = re;
27367 _errHandler.reportError(this, re);
27368 _errHandler.recover(this, re);
27369 }
27370 finally {
27371 exitRule();
27372 }
27373 return _localctx;
27374 }
27375
27376 public static class DefaultCollationContext extends ParserRuleContext {
27377 public TerminalNode COLLATE() { return getToken(HiveStatementParser.COLLATE, 0); }
27378 public CollationNameContext collationName() {
27379 return getRuleContext(CollationNameContext.class,0);
27380 }
27381 public TerminalNode DEFAULT() { return getToken(HiveStatementParser.DEFAULT, 0); }
27382 public TerminalNode EQ_() { return getToken(HiveStatementParser.EQ_, 0); }
27383 public DefaultCollationContext(ParserRuleContext parent, int invokingState) {
27384 super(parent, invokingState);
27385 }
27386 @Override public int getRuleIndex() { return RULE_defaultCollation; }
27387 @Override
27388 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27389 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDefaultCollation(this);
27390 else return visitor.visitChildren(this);
27391 }
27392 }
27393
27394 public final DefaultCollationContext defaultCollation() throws RecognitionException {
27395 DefaultCollationContext _localctx = new DefaultCollationContext(_ctx, getState());
27396 enterRule(_localctx, 458, RULE_defaultCollation);
27397 int _la;
27398 try {
27399 enterOuterAlt(_localctx, 1);
27400 {
27401 setState(2726);
27402 _errHandler.sync(this);
27403 _la = _input.LA(1);
27404 if (_la==DEFAULT) {
27405 {
27406 setState(2725);
27407 match(DEFAULT);
27408 }
27409 }
27410
27411 setState(2728);
27412 match(COLLATE);
27413 setState(2730);
27414 _errHandler.sync(this);
27415 _la = _input.LA(1);
27416 if (_la==EQ_) {
27417 {
27418 setState(2729);
27419 match(EQ_);
27420 }
27421 }
27422
27423 setState(2732);
27424 collationName();
27425 }
27426 }
27427 catch (RecognitionException re) {
27428 _localctx.exception = re;
27429 _errHandler.reportError(this, re);
27430 _errHandler.recover(this, re);
27431 }
27432 finally {
27433 exitRule();
27434 }
27435 return _localctx;
27436 }
27437
27438 public static class DefaultEncryptionContext extends ParserRuleContext {
27439 public TerminalNode ENCRYPTION() { return getToken(HiveStatementParser.ENCRYPTION, 0); }
27440 public String_Context string_() {
27441 return getRuleContext(String_Context.class,0);
27442 }
27443 public TerminalNode DEFAULT() { return getToken(HiveStatementParser.DEFAULT, 0); }
27444 public TerminalNode EQ_() { return getToken(HiveStatementParser.EQ_, 0); }
27445 public DefaultEncryptionContext(ParserRuleContext parent, int invokingState) {
27446 super(parent, invokingState);
27447 }
27448 @Override public int getRuleIndex() { return RULE_defaultEncryption; }
27449 @Override
27450 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27451 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDefaultEncryption(this);
27452 else return visitor.visitChildren(this);
27453 }
27454 }
27455
27456 public final DefaultEncryptionContext defaultEncryption() throws RecognitionException {
27457 DefaultEncryptionContext _localctx = new DefaultEncryptionContext(_ctx, getState());
27458 enterRule(_localctx, 460, RULE_defaultEncryption);
27459 int _la;
27460 try {
27461 enterOuterAlt(_localctx, 1);
27462 {
27463 setState(2735);
27464 _errHandler.sync(this);
27465 _la = _input.LA(1);
27466 if (_la==DEFAULT) {
27467 {
27468 setState(2734);
27469 match(DEFAULT);
27470 }
27471 }
27472
27473 setState(2737);
27474 match(ENCRYPTION);
27475 setState(2739);
27476 _errHandler.sync(this);
27477 _la = _input.LA(1);
27478 if (_la==EQ_) {
27479 {
27480 setState(2738);
27481 match(EQ_);
27482 }
27483 }
27484
27485 setState(2741);
27486 string_();
27487 }
27488 }
27489 catch (RecognitionException re) {
27490 _localctx.exception = re;
27491 _errHandler.reportError(this, re);
27492 _errHandler.recover(this, re);
27493 }
27494 finally {
27495 exitRule();
27496 }
27497 return _localctx;
27498 }
27499
27500 public static class DefaultCharsetContext extends ParserRuleContext {
27501 public CharsetContext charset() {
27502 return getRuleContext(CharsetContext.class,0);
27503 }
27504 public CharsetNameContext charsetName() {
27505 return getRuleContext(CharsetNameContext.class,0);
27506 }
27507 public TerminalNode DEFAULT() { return getToken(HiveStatementParser.DEFAULT, 0); }
27508 public TerminalNode EQ_() { return getToken(HiveStatementParser.EQ_, 0); }
27509 public DefaultCharsetContext(ParserRuleContext parent, int invokingState) {
27510 super(parent, invokingState);
27511 }
27512 @Override public int getRuleIndex() { return RULE_defaultCharset; }
27513 @Override
27514 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27515 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDefaultCharset(this);
27516 else return visitor.visitChildren(this);
27517 }
27518 }
27519
27520 public final DefaultCharsetContext defaultCharset() throws RecognitionException {
27521 DefaultCharsetContext _localctx = new DefaultCharsetContext(_ctx, getState());
27522 enterRule(_localctx, 462, RULE_defaultCharset);
27523 int _la;
27524 try {
27525 enterOuterAlt(_localctx, 1);
27526 {
27527 setState(2744);
27528 _errHandler.sync(this);
27529 _la = _input.LA(1);
27530 if (_la==DEFAULT) {
27531 {
27532 setState(2743);
27533 match(DEFAULT);
27534 }
27535 }
27536
27537 setState(2746);
27538 charset();
27539 setState(2748);
27540 _errHandler.sync(this);
27541 _la = _input.LA(1);
27542 if (_la==EQ_) {
27543 {
27544 setState(2747);
27545 match(EQ_);
27546 }
27547 }
27548
27549 setState(2750);
27550 charsetName();
27551 }
27552 }
27553 catch (RecognitionException re) {
27554 _localctx.exception = re;
27555 _errHandler.reportError(this, re);
27556 _errHandler.recover(this, re);
27557 }
27558 finally {
27559 exitRule();
27560 }
27561 return _localctx;
27562 }
27563
27564 public static class NowContext extends ParserRuleContext {
27565 public TerminalNode CURRENT_TIMESTAMP() { return getToken(HiveStatementParser.CURRENT_TIMESTAMP, 0); }
27566 public TerminalNode LOCALTIME() { return getToken(HiveStatementParser.LOCALTIME, 0); }
27567 public TerminalNode LOCALTIMESTAMP() { return getToken(HiveStatementParser.LOCALTIMESTAMP, 0); }
27568 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
27569 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
27570 public TerminalNode NUMBER_() { return getToken(HiveStatementParser.NUMBER_, 0); }
27571 public NowContext(ParserRuleContext parent, int invokingState) {
27572 super(parent, invokingState);
27573 }
27574 @Override public int getRuleIndex() { return RULE_now; }
27575 @Override
27576 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27577 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitNow(this);
27578 else return visitor.visitChildren(this);
27579 }
27580 }
27581
27582 public final NowContext now() throws RecognitionException {
27583 NowContext _localctx = new NowContext(_ctx, getState());
27584 enterRule(_localctx, 464, RULE_now);
27585 int _la;
27586 try {
27587 enterOuterAlt(_localctx, 1);
27588 {
27589 setState(2752);
27590 _la = _input.LA(1);
27591 if ( !(_la==CURRENT_TIMESTAMP || _la==LOCALTIME || _la==LOCALTIMESTAMP) ) {
27592 _errHandler.recoverInline(this);
27593 }
27594 else {
27595 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27596 _errHandler.reportMatch(this);
27597 consume();
27598 }
27599 setState(2758);
27600 _errHandler.sync(this);
27601 _la = _input.LA(1);
27602 if (_la==LP_) {
27603 {
27604 setState(2753);
27605 match(LP_);
27606 setState(2755);
27607 _errHandler.sync(this);
27608 _la = _input.LA(1);
27609 if (_la==NUMBER_) {
27610 {
27611 setState(2754);
27612 match(NUMBER_);
27613 }
27614 }
27615
27616 setState(2757);
27617 match(RP_);
27618 }
27619 }
27620
27621 }
27622 }
27623 catch (RecognitionException re) {
27624 _localctx.exception = re;
27625 _errHandler.reportError(this, re);
27626 _errHandler.recover(this, re);
27627 }
27628 finally {
27629 exitRule();
27630 }
27631 return _localctx;
27632 }
27633
27634 public static class ColumnFormatContext extends ParserRuleContext {
27635 public TerminalNode FIXED() { return getToken(HiveStatementParser.FIXED, 0); }
27636 public TerminalNode DYNAMIC() { return getToken(HiveStatementParser.DYNAMIC, 0); }
27637 public TerminalNode DEFAULT() { return getToken(HiveStatementParser.DEFAULT, 0); }
27638 public ColumnFormatContext(ParserRuleContext parent, int invokingState) {
27639 super(parent, invokingState);
27640 }
27641 @Override public int getRuleIndex() { return RULE_columnFormat; }
27642 @Override
27643 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27644 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitColumnFormat(this);
27645 else return visitor.visitChildren(this);
27646 }
27647 }
27648
27649 public final ColumnFormatContext columnFormat() throws RecognitionException {
27650 ColumnFormatContext _localctx = new ColumnFormatContext(_ctx, getState());
27651 enterRule(_localctx, 466, RULE_columnFormat);
27652 int _la;
27653 try {
27654 enterOuterAlt(_localctx, 1);
27655 {
27656 setState(2760);
27657 _la = _input.LA(1);
27658 if ( !(_la==DEFAULT || _la==DYNAMIC || _la==FIXED) ) {
27659 _errHandler.recoverInline(this);
27660 }
27661 else {
27662 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27663 _errHandler.reportMatch(this);
27664 consume();
27665 }
27666 }
27667 }
27668 catch (RecognitionException re) {
27669 _localctx.exception = re;
27670 _errHandler.reportError(this, re);
27671 _errHandler.recover(this, re);
27672 }
27673 finally {
27674 exitRule();
27675 }
27676 return _localctx;
27677 }
27678
27679 public static class StorageMediaContext extends ParserRuleContext {
27680 public TerminalNode DISK() { return getToken(HiveStatementParser.DISK, 0); }
27681 public TerminalNode MEMORY() { return getToken(HiveStatementParser.MEMORY, 0); }
27682 public TerminalNode DEFAULT() { return getToken(HiveStatementParser.DEFAULT, 0); }
27683 public StorageMediaContext(ParserRuleContext parent, int invokingState) {
27684 super(parent, invokingState);
27685 }
27686 @Override public int getRuleIndex() { return RULE_storageMedia; }
27687 @Override
27688 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27689 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitStorageMedia(this);
27690 else return visitor.visitChildren(this);
27691 }
27692 }
27693
27694 public final StorageMediaContext storageMedia() throws RecognitionException {
27695 StorageMediaContext _localctx = new StorageMediaContext(_ctx, getState());
27696 enterRule(_localctx, 468, RULE_storageMedia);
27697 int _la;
27698 try {
27699 enterOuterAlt(_localctx, 1);
27700 {
27701 setState(2762);
27702 _la = _input.LA(1);
27703 if ( !(_la==DEFAULT || _la==DISK || _la==MEMORY) ) {
27704 _errHandler.recoverInline(this);
27705 }
27706 else {
27707 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27708 _errHandler.reportMatch(this);
27709 consume();
27710 }
27711 }
27712 }
27713 catch (RecognitionException re) {
27714 _localctx.exception = re;
27715 _errHandler.reportError(this, re);
27716 _errHandler.recover(this, re);
27717 }
27718 finally {
27719 exitRule();
27720 }
27721 return _localctx;
27722 }
27723
27724 public static class DirectionContext extends ParserRuleContext {
27725 public TerminalNode ASC() { return getToken(HiveStatementParser.ASC, 0); }
27726 public TerminalNode DESC() { return getToken(HiveStatementParser.DESC, 0); }
27727 public DirectionContext(ParserRuleContext parent, int invokingState) {
27728 super(parent, invokingState);
27729 }
27730 @Override public int getRuleIndex() { return RULE_direction; }
27731 @Override
27732 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27733 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitDirection(this);
27734 else return visitor.visitChildren(this);
27735 }
27736 }
27737
27738 public final DirectionContext direction() throws RecognitionException {
27739 DirectionContext _localctx = new DirectionContext(_ctx, getState());
27740 enterRule(_localctx, 470, RULE_direction);
27741 int _la;
27742 try {
27743 enterOuterAlt(_localctx, 1);
27744 {
27745 setState(2764);
27746 _la = _input.LA(1);
27747 if ( !(_la==ASC || _la==DESC) ) {
27748 _errHandler.recoverInline(this);
27749 }
27750 else {
27751 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27752 _errHandler.reportMatch(this);
27753 consume();
27754 }
27755 }
27756 }
27757 catch (RecognitionException re) {
27758 _localctx.exception = re;
27759 _errHandler.reportError(this, re);
27760 _errHandler.recover(this, re);
27761 }
27762 finally {
27763 exitRule();
27764 }
27765 return _localctx;
27766 }
27767
27768 public static class KeyOrIndexContext extends ParserRuleContext {
27769 public TerminalNode KEY() { return getToken(HiveStatementParser.KEY, 0); }
27770 public TerminalNode INDEX() { return getToken(HiveStatementParser.INDEX, 0); }
27771 public KeyOrIndexContext(ParserRuleContext parent, int invokingState) {
27772 super(parent, invokingState);
27773 }
27774 @Override public int getRuleIndex() { return RULE_keyOrIndex; }
27775 @Override
27776 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27777 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitKeyOrIndex(this);
27778 else return visitor.visitChildren(this);
27779 }
27780 }
27781
27782 public final KeyOrIndexContext keyOrIndex() throws RecognitionException {
27783 KeyOrIndexContext _localctx = new KeyOrIndexContext(_ctx, getState());
27784 enterRule(_localctx, 472, RULE_keyOrIndex);
27785 int _la;
27786 try {
27787 enterOuterAlt(_localctx, 1);
27788 {
27789 setState(2766);
27790 _la = _input.LA(1);
27791 if ( !(_la==INDEX || _la==KEY) ) {
27792 _errHandler.recoverInline(this);
27793 }
27794 else {
27795 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27796 _errHandler.reportMatch(this);
27797 consume();
27798 }
27799 }
27800 }
27801 catch (RecognitionException re) {
27802 _localctx.exception = re;
27803 _errHandler.reportError(this, re);
27804 _errHandler.recover(this, re);
27805 }
27806 finally {
27807 exitRule();
27808 }
27809 return _localctx;
27810 }
27811
27812 public static class FieldLengthContext extends ParserRuleContext {
27813 public Token length;
27814 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
27815 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
27816 public TerminalNode NUMBER_() { return getToken(HiveStatementParser.NUMBER_, 0); }
27817 public FieldLengthContext(ParserRuleContext parent, int invokingState) {
27818 super(parent, invokingState);
27819 }
27820 @Override public int getRuleIndex() { return RULE_fieldLength; }
27821 @Override
27822 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27823 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFieldLength(this);
27824 else return visitor.visitChildren(this);
27825 }
27826 }
27827
27828 public final FieldLengthContext fieldLength() throws RecognitionException {
27829 FieldLengthContext _localctx = new FieldLengthContext(_ctx, getState());
27830 enterRule(_localctx, 474, RULE_fieldLength);
27831 try {
27832 enterOuterAlt(_localctx, 1);
27833 {
27834 setState(2768);
27835 match(LP_);
27836 setState(2769);
27837 ((FieldLengthContext)_localctx).length = match(NUMBER_);
27838 setState(2770);
27839 match(RP_);
27840 }
27841 }
27842 catch (RecognitionException re) {
27843 _localctx.exception = re;
27844 _errHandler.reportError(this, re);
27845 _errHandler.recover(this, re);
27846 }
27847 finally {
27848 exitRule();
27849 }
27850 return _localctx;
27851 }
27852
27853 public static class CharacterSetContext extends ParserRuleContext {
27854 public CharsetContext charset() {
27855 return getRuleContext(CharsetContext.class,0);
27856 }
27857 public CharsetNameContext charsetName() {
27858 return getRuleContext(CharsetNameContext.class,0);
27859 }
27860 public CharacterSetContext(ParserRuleContext parent, int invokingState) {
27861 super(parent, invokingState);
27862 }
27863 @Override public int getRuleIndex() { return RULE_characterSet; }
27864 @Override
27865 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27866 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCharacterSet(this);
27867 else return visitor.visitChildren(this);
27868 }
27869 }
27870
27871 public final CharacterSetContext characterSet() throws RecognitionException {
27872 CharacterSetContext _localctx = new CharacterSetContext(_ctx, getState());
27873 enterRule(_localctx, 476, RULE_characterSet);
27874 try {
27875 enterOuterAlt(_localctx, 1);
27876 {
27877 setState(2772);
27878 charset();
27879 setState(2773);
27880 charsetName();
27881 }
27882 }
27883 catch (RecognitionException re) {
27884 _localctx.exception = re;
27885 _errHandler.reportError(this, re);
27886 _errHandler.recover(this, re);
27887 }
27888 finally {
27889 exitRule();
27890 }
27891 return _localctx;
27892 }
27893
27894 public static class CollateClauseContext extends ParserRuleContext {
27895 public TerminalNode COLLATE() { return getToken(HiveStatementParser.COLLATE, 0); }
27896 public CollationNameContext collationName() {
27897 return getRuleContext(CollationNameContext.class,0);
27898 }
27899 public ParameterMarkerContext parameterMarker() {
27900 return getRuleContext(ParameterMarkerContext.class,0);
27901 }
27902 public CollateClauseContext(ParserRuleContext parent, int invokingState) {
27903 super(parent, invokingState);
27904 }
27905 @Override public int getRuleIndex() { return RULE_collateClause; }
27906 @Override
27907 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27908 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCollateClause(this);
27909 else return visitor.visitChildren(this);
27910 }
27911 }
27912
27913 public final CollateClauseContext collateClause() throws RecognitionException {
27914 CollateClauseContext _localctx = new CollateClauseContext(_ctx, getState());
27915 enterRule(_localctx, 478, RULE_collateClause);
27916 try {
27917 enterOuterAlt(_localctx, 1);
27918 {
27919 setState(2775);
27920 match(COLLATE);
27921 setState(2778);
27922 _errHandler.sync(this);
27923 switch (_input.LA(1)) {
27924 case MAX:
27925 case MIN:
27926 case SUM:
27927 case COUNT:
27928 case GROUP_CONCAT:
27929 case CAST:
27930 case POSITION:
27931 case SUBSTRING:
27932 case SUBSTR:
27933 case EXTRACT:
27934 case TRIM:
27935 case LAST_DAY:
27936 case TRADITIONAL:
27937 case TREE:
27938 case MYSQL_MAIN:
27939 case MYSQL_ADMIN:
27940 case INSTANT:
27941 case INPLACE:
27942 case COPY:
27943 case UL_BINARY:
27944 case AUTOCOMMIT:
27945 case INNODB:
27946 case REDO_LOG:
27947 case ACCOUNT:
27948 case ACTION:
27949 case ACTIVE:
27950 case ADMIN:
27951 case AFTER:
27952 case AGAINST:
27953 case AGGREGATE:
27954 case ALGORITHM:
27955 case ALWAYS:
27956 case ANY:
27957 case ARRAY:
27958 case ASCII:
27959 case AT:
27960 case ATTRIBUTE:
27961 case AUTOEXTEND_SIZE:
27962 case AUTO_INCREMENT:
27963 case AVG:
27964 case BIT_XOR:
27965 case AVG_ROW_LENGTH:
27966 case BACKUP:
27967 case BEGIN:
27968 case BINARY:
27969 case BINLOG:
27970 case BIT:
27971 case BLOCK:
27972 case BOOL:
27973 case BOOLEAN:
27974 case BTREE:
27975 case BUCKETS:
27976 case BYTE:
27977 case CACHE:
27978 case CASCADED:
27979 case CATALOG_NAME:
27980 case CHAIN:
27981 case CHANGED:
27982 case CHANNEL:
27983 case CHARSET:
27984 case CHECKSUM:
27985 case CIPHER:
27986 case CLASS_ORIGIN:
27987 case CLIENT:
27988 case CLONE:
27989 case CLOSE:
27990 case COALESCE:
27991 case CODE:
27992 case COLLATION:
27993 case COLUMNS:
27994 case COLUMN_FORMAT:
27995 case COLUMN_NAME:
27996 case COMMENT:
27997 case COMMIT:
27998 case COMMITTED:
27999 case COMPACT:
28000 case COMPLETION:
28001 case COMPONENT:
28002 case COMPRESSED:
28003 case COMPRESSION:
28004 case CONCURRENT:
28005 case CONNECTION:
28006 case CONSISTENT:
28007 case CONSTRAINT_CATALOG:
28008 case CONSTRAINT_NAME:
28009 case CONSTRAINT_SCHEMA:
28010 case CONTAINS:
28011 case CONTEXT:
28012 case CPU:
28013 case CREATE:
28014 case CURRENT:
28015 case CURSOR_NAME:
28016 case DATA:
28017 case DATAFILE:
28018 case DATE:
28019 case DATETIME:
28020 case DAY:
28021 case DAY_MINUTE:
28022 case DEALLOCATE:
28023 case DEFAULT_AUTH:
28024 case DEFINER:
28025 case DEFINITION:
28026 case DELAY_KEY_WRITE:
28027 case DESCRIPTION:
28028 case DIAGNOSTICS:
28029 case DIRECTORY:
28030 case DISABLE:
28031 case DISCARD:
28032 case DISK:
28033 case DO:
28034 case DUMPFILE:
28035 case DUPLICATE:
28036 case DYNAMIC:
28037 case ENABLE:
28038 case ENCRYPTION:
28039 case END:
28040 case ENDS:
28041 case ENFORCED:
28042 case ENGINE:
28043 case ENGINES:
28044 case ENGINE_ATTRIBUTE:
28045 case ENUM:
28046 case ERROR:
28047 case ERRORS:
28048 case ESCAPE:
28049 case EVENT:
28050 case EVENTS:
28051 case EVERY:
28052 case EXCHANGE:
28053 case EXCLUDE:
28054 case EXECUTE:
28055 case EXPANSION:
28056 case EXPIRE:
28057 case EXPORT:
28058 case EXTENDED:
28059 case EXTENT_SIZE:
28060 case FAILED_LOGIN_ATTEMPTS:
28061 case FAST:
28062 case FAULTS:
28063 case FILE:
28064 case FILE_BLOCK_SIZE:
28065 case FILTER:
28066 case FIRST:
28067 case FIXED:
28068 case FLUSH:
28069 case FOLLOWING:
28070 case FOLLOWS:
28071 case FORMAT:
28072 case FOUND:
28073 case FULL:
28074 case GENERAL:
28075 case GEOMETRY:
28076 case GEOMETRYCOLLECTION:
28077 case GET_FORMAT:
28078 case GET_MASTER_PUBLIC_KEY:
28079 case GLOBAL:
28080 case GRANTS:
28081 case GROUP_REPLICATION:
28082 case HANDLER:
28083 case HASH:
28084 case HELP:
28085 case HISTOGRAM:
28086 case HISTORY:
28087 case HOST:
28088 case HOSTS:
28089 case HOUR:
28090 case IDENTIFIED:
28091 case IGNORE_SERVER_IDS:
28092 case IMPORT:
28093 case INACTIVE:
28094 case INDEXES:
28095 case INITIAL_SIZE:
28096 case INSERT_METHOD:
28097 case INSTALL:
28098 case INSTANCE:
28099 case INVISIBLE:
28100 case INVOKER:
28101 case IO:
28102 case IPC:
28103 case ISOLATION:
28104 case ISSUER:
28105 case JSON:
28106 case JSON_VALUE:
28107 case KEY:
28108 case KEY_BLOCK_SIZE:
28109 case LANGUAGE:
28110 case LAST:
28111 case LAST_VALUE:
28112 case LEAVES:
28113 case LESS:
28114 case LEVEL:
28115 case LINESTRING:
28116 case LIST:
28117 case LOCAL:
28118 case LOCKED:
28119 case LOCKS:
28120 case LOGFILE:
28121 case LOGS:
28122 case MASTER:
28123 case MASTER_AUTO_POSITION:
28124 case MASTER_COMPRESSION_ALGORITHM:
28125 case MASTER_CONNECT_RETRY:
28126 case MASTER_DELAY:
28127 case MASTER_HEARTBEAT_PERIOD:
28128 case MASTER_HOST:
28129 case MASTER_LOG_FILE:
28130 case MASTER_LOG_POS:
28131 case MASTER_PASSWORD:
28132 case MASTER_PORT:
28133 case MASTER_PUBLIC_KEY_PATH:
28134 case MASTER_RETRY_COUNT:
28135 case MASTER_SERVER_ID:
28136 case MASTER_SSL:
28137 case MASTER_SSL_CA:
28138 case MASTER_SSL_CAPATH:
28139 case MASTER_SSL_CERT:
28140 case MASTER_SSL_CIPHER:
28141 case MASTER_SSL_CRL:
28142 case MASTER_SSL_CRLPATH:
28143 case MASTER_SSL_KEY:
28144 case MASTER_TLS_CIPHERSUITES:
28145 case MASTER_TLS_VERSION:
28146 case MASTER_USER:
28147 case MASTER_ZSTD_COMPRESSION_LEVEL:
28148 case MAXVALUE:
28149 case MAX_CONNECTIONS_PER_HOUR:
28150 case MAX_QUERIES_PER_HOUR:
28151 case MAX_ROWS:
28152 case MAX_SIZE:
28153 case MAX_UPDATES_PER_HOUR:
28154 case MAX_USER_CONNECTIONS:
28155 case MEDIUM:
28156 case MEMBER:
28157 case MEMORY:
28158 case MERGE:
28159 case MESSAGE_TEXT:
28160 case MICROSECOND:
28161 case MIGRATE:
28162 case MINUTE:
28163 case MIN_ROWS:
28164 case MODE:
28165 case MODIFY:
28166 case MONTH:
28167 case MULTILINESTRING:
28168 case MULTIPOINT:
28169 case MULTIPOLYGON:
28170 case MUTEX:
28171 case MYSQL_ERRNO:
28172 case NAME:
28173 case NAMES:
28174 case NATIONAL:
28175 case NCHAR:
28176 case NDBCLUSTER:
28177 case NESTED:
28178 case NETWORK_NAMESPACE:
28179 case NEVER:
28180 case NEW:
28181 case NEXT:
28182 case NO:
28183 case NODEGROUP:
28184 case NONE:
28185 case NOWAIT:
28186 case NO_WAIT:
28187 case NULLS:
28188 case NUMBER:
28189 case NVARCHAR:
28190 case OFF:
28191 case OFFSET:
28192 case OJ:
28193 case OLD:
28194 case ONE:
28195 case ONLY:
28196 case OPEN:
28197 case OPTIONAL:
28198 case OPTIONS:
28199 case ORDINALITY:
28200 case ORGANIZATION:
28201 case OTHERS:
28202 case OWNER:
28203 case PACK_KEYS:
28204 case PAGE:
28205 case PARSER:
28206 case PARTIAL:
28207 case PARTITIONING:
28208 case PARTITIONS:
28209 case PASSWORD:
28210 case PASSWORD_LOCK_TIME:
28211 case PATH:
28212 case PERSIST:
28213 case PERSIST_ONLY:
28214 case PHASE:
28215 case PLUGIN:
28216 case PLUGINS:
28217 case PLUGIN_DIR:
28218 case POINT:
28219 case POLYGON:
28220 case PORT:
28221 case PRECEDES:
28222 case PRECEDING:
28223 case PREPARE:
28224 case PRESERVE:
28225 case PREV:
28226 case PRIMARY:
28227 case PRIVILEGES:
28228 case PRIVILEGE_CHECKS_USER:
28229 case PROCESS:
28230 case PROCESSLIST:
28231 case PROFILE:
28232 case PROFILES:
28233 case PROXY:
28234 case QUARTER:
28235 case QUERY:
28236 case QUICK:
28237 case RANDOM:
28238 case READ_ONLY:
28239 case REBUILD:
28240 case RECOVER:
28241 case REDO_BUFFER_SIZE:
28242 case REDUNDANT:
28243 case REFERENCE:
28244 case RELAY:
28245 case RELAYLOG:
28246 case RELAY_LOG_FILE:
28247 case RELAY_LOG_POS:
28248 case RELAY_THREAD:
28249 case RELOAD:
28250 case REMOVE:
28251 case REORGANIZE:
28252 case REPAIR:
28253 case REPEATABLE:
28254 case REPLICATE_DO_DB:
28255 case REPLICATE_DO_TABLE:
28256 case REPLICATE_IGNORE_DB:
28257 case REPLICATE_IGNORE_TABLE:
28258 case REPLICATE_REWRITE_DB:
28259 case REPLICATE_WILD_DO_TABLE:
28260 case REPLICATE_WILD_IGNORE_TABLE:
28261 case REPLICATION:
28262 case REQUIRE_ROW_FORMAT:
28263 case RESET:
28264 case RESOURCE:
28265 case RESPECT:
28266 case RESTART:
28267 case RESTORE:
28268 case RESUME:
28269 case RETAIN:
28270 case RETURNED_SQLSTATE:
28271 case RETURNING:
28272 case RETURNS:
28273 case REUSE:
28274 case REVERSE:
28275 case ROLE:
28276 case ROLLBACK:
28277 case ROLLUP:
28278 case ROTATE:
28279 case ROUTINE:
28280 case ROW_COUNT:
28281 case ROW_FORMAT:
28282 case RTREE:
28283 case SAVEPOINT:
28284 case SCHEDULE:
28285 case SCHEMA_NAME:
28286 case SECOND:
28287 case SECONDARY:
28288 case SECONDARY_ENGINE:
28289 case SECONDARY_ENGINE_ATTRIBUTE:
28290 case SECONDARY_LOAD:
28291 case SECONDARY_UNLOAD:
28292 case SECURITY:
28293 case SERIAL:
28294 case SERIALIZABLE:
28295 case SERVER:
28296 case SESSION:
28297 case SHARE:
28298 case SHUTDOWN:
28299 case SIGNED:
28300 case SIMPLE:
28301 case SLAVE:
28302 case SLOW:
28303 case SNAPSHOT:
28304 case SOCKET:
28305 case SONAME:
28306 case SOUNDS:
28307 case SOURCE:
28308 case SQL_AFTER_GTIDS:
28309 case SQL_AFTER_MTS_GAPS:
28310 case SQL_BEFORE_GTIDS:
28311 case SQL_BUFFER_RESULT:
28312 case SQL_NO_CACHE:
28313 case SQL_THREAD:
28314 case SRID:
28315 case STACKED:
28316 case START:
28317 case STARTS:
28318 case STATS_AUTO_RECALC:
28319 case STATS_PERSISTENT:
28320 case STATS_SAMPLE_PAGES:
28321 case STATUS:
28322 case STOP:
28323 case STORAGE:
28324 case STREAM:
28325 case STRING:
28326 case SUBCLASS_ORIGIN:
28327 case SUBJECT:
28328 case SUBPARTITION:
28329 case SUBPARTITIONS:
28330 case SUPER:
28331 case SUSPEND:
28332 case SWAPS:
28333 case SWITCHES:
28334 case SYSTEM:
28335 case TABLE:
28336 case TABLES:
28337 case TABLESPACE:
28338 case TABLE_CHECKSUM:
28339 case TABLE_NAME:
28340 case TEMPORARY:
28341 case TEMPTABLE:
28342 case TEXT:
28343 case THAN:
28344 case THREAD_PRIORITY:
28345 case TIES:
28346 case TIME:
28347 case TIMESTAMP:
28348 case TIMESTAMP_ADD:
28349 case TIMESTAMP_DIFF:
28350 case TLS:
28351 case TRANSACTION:
28352 case TRIGGERS:
28353 case TRUNCATE:
28354 case TYPE:
28355 case TYPES:
28356 case UNBOUNDED:
28357 case UNCOMMITTED:
28358 case UNDEFINED:
28359 case UNDOFILE:
28360 case UNDO_BUFFER_SIZE:
28361 case UNICODE:
28362 case UNINSTALL:
28363 case UNKNOWN:
28364 case UNTIL:
28365 case UPGRADE:
28366 case USER:
28367 case USER_RESOURCES:
28368 case USE_FRM:
28369 case UTC_DATE:
28370 case UTC_TIME:
28371 case UTC_TIMESTAMP:
28372 case VALIDATION:
28373 case VALUE:
28374 case VARIABLES:
28375 case VCPU:
28376 case VIEW:
28377 case VISIBLE:
28378 case WAIT:
28379 case WARNINGS:
28380 case WEEK:
28381 case WEIGHT_STRING:
28382 case WITHOUT:
28383 case WORK:
28384 case WRAPPER:
28385 case X509:
28386 case XA:
28387 case XID:
28388 case XML:
28389 case YEAR:
28390 case YEAR_MONTH:
28391 case SINGLE_QUOTED_TEXT:
28392 case DOUBLE_QUOTED_TEXT:
28393 case BQUOTA_STRING:
28394 case UNDERSCORE_CHARSET:
28395 case IDENTIFIER_:
28396 case IP_ADDRESS:
28397 {
28398 setState(2776);
28399 collationName();
28400 }
28401 break;
28402 case QUESTION_:
28403 {
28404 setState(2777);
28405 parameterMarker();
28406 }
28407 break;
28408 default:
28409 throw new NoViableAltException(this);
28410 }
28411 }
28412 }
28413 catch (RecognitionException re) {
28414 _localctx.exception = re;
28415 _errHandler.reportError(this, re);
28416 _errHandler.recover(this, re);
28417 }
28418 finally {
28419 exitRule();
28420 }
28421 return _localctx;
28422 }
28423
28424 public static class FieldOrVarSpecContext extends ParserRuleContext {
28425 public TerminalNode LP_() { return getToken(HiveStatementParser.LP_, 0); }
28426 public TerminalNode RP_() { return getToken(HiveStatementParser.RP_, 0); }
28427 public List<IdentifierContext> identifier() {
28428 return getRuleContexts(IdentifierContext.class);
28429 }
28430 public IdentifierContext identifier(int i) {
28431 return getRuleContext(IdentifierContext.class,i);
28432 }
28433 public List<TerminalNode> COMMA_() { return getTokens(HiveStatementParser.COMMA_); }
28434 public TerminalNode COMMA_(int i) {
28435 return getToken(HiveStatementParser.COMMA_, i);
28436 }
28437 public FieldOrVarSpecContext(ParserRuleContext parent, int invokingState) {
28438 super(parent, invokingState);
28439 }
28440 @Override public int getRuleIndex() { return RULE_fieldOrVarSpec; }
28441 @Override
28442 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28443 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitFieldOrVarSpec(this);
28444 else return visitor.visitChildren(this);
28445 }
28446 }
28447
28448 public final FieldOrVarSpecContext fieldOrVarSpec() throws RecognitionException {
28449 FieldOrVarSpecContext _localctx = new FieldOrVarSpecContext(_ctx, getState());
28450 enterRule(_localctx, 480, RULE_fieldOrVarSpec);
28451 int _la;
28452 try {
28453 enterOuterAlt(_localctx, 1);
28454 {
28455 setState(2780);
28456 match(LP_);
28457 setState(2789);
28458 _errHandler.sync(this);
28459 _la = _input.LA(1);
28460 if (((((_la - 47)) & ~0x3f) == 0 && ((1L << (_la - 47)) & ((1L << (MAX - 47)) | (1L << (MIN - 47)) | (1L << (SUM - 47)) | (1L << (COUNT - 47)) | (1L << (GROUP_CONCAT - 47)) | (1L << (CAST - 47)) | (1L << (POSITION - 47)) | (1L << (SUBSTRING - 47)) | (1L << (SUBSTR - 47)) | (1L << (EXTRACT - 47)) | (1L << (TRIM - 47)) | (1L << (LAST_DAY - 47)) | (1L << (TRADITIONAL - 47)) | (1L << (TREE - 47)) | (1L << (MYSQL_MAIN - 47)) | (1L << (MYSQL_ADMIN - 47)) | (1L << (INSTANT - 47)) | (1L << (INPLACE - 47)) | (1L << (COPY - 47)) | (1L << (UL_BINARY - 47)) | (1L << (AUTOCOMMIT - 47)) | (1L << (INNODB - 47)) | (1L << (REDO_LOG - 47)) | (1L << (ACCOUNT - 47)) | (1L << (ACTION - 47)) | (1L << (ACTIVE - 47)) | (1L << (ADMIN - 47)) | (1L << (AFTER - 47)) | (1L << (AGAINST - 47)) | (1L << (AGGREGATE - 47)) | (1L << (ALGORITHM - 47)) | (1L << (ALWAYS - 47)) | (1L << (ANY - 47)) | (1L << (ARRAY - 47)) | (1L << (ASCII - 47)) | (1L << (AT - 47)) | (1L << (ATTRIBUTE - 47)) | (1L << (AUTOEXTEND_SIZE - 47)) | (1L << (AUTO_INCREMENT - 47)) | (1L << (AVG - 47)) | (1L << (BIT_XOR - 47)) | (1L << (AVG_ROW_LENGTH - 47)) | (1L << (BACKUP - 47)) | (1L << (BEGIN - 47)) | (1L << (BINLOG - 47)) | (1L << (BIT - 47)) | (1L << (BLOCK - 47)))) != 0) || ((((_la - 111)) & ~0x3f) == 0 && ((1L << (_la - 111)) & ((1L << (BOOL - 111)) | (1L << (BOOLEAN - 111)) | (1L << (BTREE - 111)) | (1L << (BUCKETS - 111)) | (1L << (BYTE - 111)) | (1L << (CACHE - 111)) | (1L << (CASCADED - 111)) | (1L << (CATALOG_NAME - 111)) | (1L << (CHAIN - 111)) | (1L << (CHANGED - 111)) | (1L << (CHANNEL - 111)) | (1L << (CHARSET - 111)) | (1L << (CHECKSUM - 111)) | (1L << (CIPHER - 111)) | (1L << (CLASS_ORIGIN - 111)) | (1L << (CLIENT - 111)) | (1L << (CLONE - 111)) | (1L << (CLOSE - 111)) | (1L << (COALESCE - 111)) | (1L << (CODE - 111)) | (1L << (COLLATION - 111)) | (1L << (COLUMNS - 111)) | (1L << (COLUMN_FORMAT - 111)) | (1L << (COLUMN_NAME - 111)) | (1L << (COMMENT - 111)) | (1L << (COMMIT - 111)) | (1L << (COMMITTED - 111)) | (1L << (COMPACT - 111)) | (1L << (COMPLETION - 111)) | (1L << (COMPONENT - 111)) | (1L << (COMPRESSED - 111)) | (1L << (COMPRESSION - 111)) | (1L << (CONCURRENT - 111)) | (1L << (CONNECTION - 111)) | (1L << (CONSISTENT - 111)) | (1L << (CONSTRAINT_CATALOG - 111)) | (1L << (CONSTRAINT_NAME - 111)) | (1L << (CONSTRAINT_SCHEMA - 111)) | (1L << (CONTAINS - 111)) | (1L << (CONTEXT - 111)) | (1L << (CPU - 111)) | (1L << (CREATE - 111)) | (1L << (CURRENT - 111)))) != 0) || ((((_la - 179)) & ~0x3f) == 0 && ((1L << (_la - 179)) & ((1L << (CURSOR_NAME - 179)) | (1L << (DATA - 179)) | (1L << (DATAFILE - 179)) | (1L << (DATE - 179)) | (1L << (DATETIME - 179)) | (1L << (DAY - 179)) | (1L << (DAY_MINUTE - 179)) | (1L << (DEALLOCATE - 179)) | (1L << (DEFAULT_AUTH - 179)) | (1L << (DEFINER - 179)) | (1L << (DEFINITION - 179)) | (1L << (DELAY_KEY_WRITE - 179)) | (1L << (DESCRIPTION - 179)) | (1L << (DIAGNOSTICS - 179)) | (1L << (DIRECTORY - 179)) | (1L << (DISABLE - 179)) | (1L << (DISCARD - 179)) | (1L << (DISK - 179)) | (1L << (DO - 179)) | (1L << (DUMPFILE - 179)) | (1L << (DUPLICATE - 179)) | (1L << (DYNAMIC - 179)) | (1L << (ENABLE - 179)) | (1L << (ENCRYPTION - 179)) | (1L << (END - 179)) | (1L << (ENDS - 179)) | (1L << (ENFORCED - 179)) | (1L << (ENGINE - 179)) | (1L << (ENGINES - 179)) | (1L << (ENGINE_ATTRIBUTE - 179)) | (1L << (ENUM - 179)) | (1L << (ERROR - 179)) | (1L << (ERRORS - 179)) | (1L << (ESCAPE - 179)) | (1L << (EVENT - 179)) | (1L << (EVENTS - 179)) | (1L << (EVERY - 179)))) != 0) || ((((_la - 244)) & ~0x3f) == 0 && ((1L << (_la - 244)) & ((1L << (EXCHANGE - 244)) | (1L << (EXCLUDE - 244)) | (1L << (EXECUTE - 244)) | (1L << (EXPANSION - 244)) | (1L << (EXPIRE - 244)) | (1L << (EXPORT - 244)) | (1L << (EXTENDED - 244)) | (1L << (EXTENT_SIZE - 244)) | (1L << (FAILED_LOGIN_ATTEMPTS - 244)) | (1L << (FAST - 244)) | (1L << (FAULTS - 244)) | (1L << (FILE - 244)) | (1L << (FILE_BLOCK_SIZE - 244)) | (1L << (FILTER - 244)) | (1L << (FIRST - 244)) | (1L << (FIXED - 244)) | (1L << (FLUSH - 244)) | (1L << (FOLLOWING - 244)) | (1L << (FOLLOWS - 244)) | (1L << (FORMAT - 244)) | (1L << (FOUND - 244)) | (1L << (FULL - 244)) | (1L << (GENERAL - 244)) | (1L << (GEOMETRY - 244)) | (1L << (GEOMETRYCOLLECTION - 244)) | (1L << (GET_FORMAT - 244)) | (1L << (GET_MASTER_PUBLIC_KEY - 244)) | (1L << (GLOBAL - 244)) | (1L << (GRANTS - 244)) | (1L << (GROUP_REPLICATION - 244)) | (1L << (HANDLER - 244)) | (1L << (HASH - 244)) | (1L << (HELP - 244)) | (1L << (HISTOGRAM - 244)) | (1L << (HISTORY - 244)) | (1L << (HOST - 244)) | (1L << (HOSTS - 244)))) != 0) || ((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & ((1L << (HOUR - 308)) | (1L << (IDENTIFIED - 308)) | (1L << (IGNORE_SERVER_IDS - 308)) | (1L << (IMPORT - 308)) | (1L << (INACTIVE - 308)) | (1L << (INDEXES - 308)) | (1L << (INITIAL_SIZE - 308)) | (1L << (INSERT_METHOD - 308)) | (1L << (INSTALL - 308)) | (1L << (INSTANCE - 308)) | (1L << (INVISIBLE - 308)) | (1L << (INVOKER - 308)) | (1L << (IO - 308)) | (1L << (IPC - 308)) | (1L << (ISOLATION - 308)) | (1L << (ISSUER - 308)) | (1L << (JSON - 308)) | (1L << (JSON_VALUE - 308)) | (1L << (KEY - 308)) | (1L << (KEY_BLOCK_SIZE - 308)) | (1L << (LANGUAGE - 308)) | (1L << (LAST - 308)) | (1L << (LAST_VALUE - 308)) | (1L << (LEAVES - 308)) | (1L << (LESS - 308)) | (1L << (LEVEL - 308)))) != 0) || ((((_la - 373)) & ~0x3f) == 0 && ((1L << (_la - 373)) & ((1L << (LINESTRING - 373)) | (1L << (LIST - 373)) | (1L << (LOCAL - 373)) | (1L << (LOCKED - 373)) | (1L << (LOCKS - 373)) | (1L << (LOGFILE - 373)) | (1L << (LOGS - 373)) | (1L << (MASTER - 373)) | (1L << (MASTER_AUTO_POSITION - 373)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 373)) | (1L << (MASTER_CONNECT_RETRY - 373)) | (1L << (MASTER_DELAY - 373)) | (1L << (MASTER_HEARTBEAT_PERIOD - 373)) | (1L << (MASTER_HOST - 373)) | (1L << (MASTER_LOG_FILE - 373)) | (1L << (MASTER_LOG_POS - 373)) | (1L << (MASTER_PASSWORD - 373)) | (1L << (MASTER_PORT - 373)) | (1L << (MASTER_PUBLIC_KEY_PATH - 373)) | (1L << (MASTER_RETRY_COUNT - 373)) | (1L << (MASTER_SERVER_ID - 373)) | (1L << (MASTER_SSL - 373)) | (1L << (MASTER_SSL_CA - 373)) | (1L << (MASTER_SSL_CAPATH - 373)) | (1L << (MASTER_SSL_CERT - 373)) | (1L << (MASTER_SSL_CIPHER - 373)) | (1L << (MASTER_SSL_CRL - 373)) | (1L << (MASTER_SSL_CRLPATH - 373)) | (1L << (MASTER_SSL_KEY - 373)) | (1L << (MASTER_TLS_CIPHERSUITES - 373)) | (1L << (MASTER_TLS_VERSION - 373)) | (1L << (MASTER_USER - 373)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 373)) | (1L << (MAXVALUE - 373)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 373)) | (1L << (MAX_QUERIES_PER_HOUR - 373)) | (1L << (MAX_ROWS - 373)) | (1L << (MAX_SIZE - 373)) | (1L << (MAX_UPDATES_PER_HOUR - 373)) | (1L << (MAX_USER_CONNECTIONS - 373)) | (1L << (MEDIUM - 373)) | (1L << (MEMBER - 373)) | (1L << (MEMORY - 373)) | (1L << (MERGE - 373)) | (1L << (MESSAGE_TEXT - 373)) | (1L << (MICROSECOND - 373)))) != 0) || ((((_la - 437)) & ~0x3f) == 0 && ((1L << (_la - 437)) & ((1L << (MIGRATE - 437)) | (1L << (MINUTE - 437)) | (1L << (MIN_ROWS - 437)) | (1L << (MODE - 437)) | (1L << (MODIFY - 437)) | (1L << (MONTH - 437)) | (1L << (MULTILINESTRING - 437)) | (1L << (MULTIPOINT - 437)) | (1L << (MULTIPOLYGON - 437)) | (1L << (MUTEX - 437)) | (1L << (MYSQL_ERRNO - 437)) | (1L << (NAME - 437)) | (1L << (NAMES - 437)) | (1L << (NATIONAL - 437)) | (1L << (NCHAR - 437)) | (1L << (NDBCLUSTER - 437)) | (1L << (NESTED - 437)) | (1L << (NETWORK_NAMESPACE - 437)) | (1L << (NEVER - 437)) | (1L << (NEW - 437)) | (1L << (NEXT - 437)) | (1L << (NO - 437)) | (1L << (NODEGROUP - 437)) | (1L << (NONE - 437)) | (1L << (NOWAIT - 437)) | (1L << (NO_WAIT - 437)) | (1L << (NULLS - 437)) | (1L << (NUMBER - 437)) | (1L << (NVARCHAR - 437)) | (1L << (OFF - 437)) | (1L << (OFFSET - 437)) | (1L << (OJ - 437)) | (1L << (OLD - 437)) | (1L << (ONE - 437)) | (1L << (ONLY - 437)) | (1L << (OPEN - 437)) | (1L << (OPTIONAL - 437)) | (1L << (OPTIONS - 437)) | (1L << (ORDINALITY - 437)) | (1L << (ORGANIZATION - 437)) | (1L << (OTHERS - 437)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (OWNER - 505)) | (1L << (PACK_KEYS - 505)) | (1L << (PAGE - 505)) | (1L << (PARSER - 505)) | (1L << (PARTIAL - 505)) | (1L << (PARTITIONING - 505)) | (1L << (PARTITIONS - 505)) | (1L << (PASSWORD - 505)) | (1L << (PASSWORD_LOCK_TIME - 505)) | (1L << (PATH - 505)) | (1L << (PERSIST - 505)) | (1L << (PERSIST_ONLY - 505)) | (1L << (PHASE - 505)) | (1L << (PLUGIN - 505)) | (1L << (PLUGINS - 505)) | (1L << (PLUGIN_DIR - 505)) | (1L << (POINT - 505)) | (1L << (POLYGON - 505)) | (1L << (PORT - 505)) | (1L << (PRECEDES - 505)) | (1L << (PRECEDING - 505)) | (1L << (PREPARE - 505)) | (1L << (PRESERVE - 505)) | (1L << (PREV - 505)) | (1L << (PRIMARY - 505)) | (1L << (PRIVILEGES - 505)) | (1L << (PRIVILEGE_CHECKS_USER - 505)) | (1L << (PROCESS - 505)) | (1L << (PROCESSLIST - 505)) | (1L << (PROFILE - 505)) | (1L << (PROFILES - 505)) | (1L << (PROXY - 505)) | (1L << (QUARTER - 505)) | (1L << (QUERY - 505)) | (1L << (QUICK - 505)) | (1L << (RANDOM - 505)) | (1L << (READ_ONLY - 505)) | (1L << (REBUILD - 505)) | (1L << (RECOVER - 505)) | (1L << (REDO_BUFFER_SIZE - 505)) | (1L << (REDUNDANT - 505)) | (1L << (REFERENCE - 505)) | (1L << (RELAY - 505)) | (1L << (RELAYLOG - 505)) | (1L << (RELAY_LOG_FILE - 505)) | (1L << (RELAY_LOG_POS - 505)) | (1L << (RELAY_THREAD - 505)) | (1L << (RELOAD - 505)) | (1L << (REMOVE - 505)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (REORGANIZE - 570)) | (1L << (REPAIR - 570)) | (1L << (REPEATABLE - 570)) | (1L << (REPLICATE_DO_DB - 570)) | (1L << (REPLICATE_DO_TABLE - 570)) | (1L << (REPLICATE_IGNORE_DB - 570)) | (1L << (REPLICATE_IGNORE_TABLE - 570)) | (1L << (REPLICATE_REWRITE_DB - 570)) | (1L << (REPLICATE_WILD_DO_TABLE - 570)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 570)) | (1L << (REPLICATION - 570)) | (1L << (REQUIRE_ROW_FORMAT - 570)) | (1L << (RESET - 570)) | (1L << (RESOURCE - 570)) | (1L << (RESPECT - 570)) | (1L << (RESTART - 570)) | (1L << (RESTORE - 570)) | (1L << (RESUME - 570)) | (1L << (RETAIN - 570)) | (1L << (RETURNED_SQLSTATE - 570)) | (1L << (RETURNING - 570)) | (1L << (RETURNS - 570)) | (1L << (REUSE - 570)) | (1L << (REVERSE - 570)) | (1L << (ROLE - 570)) | (1L << (ROLLBACK - 570)) | (1L << (ROLLUP - 570)) | (1L << (ROTATE - 570)) | (1L << (ROUTINE - 570)) | (1L << (ROW_COUNT - 570)) | (1L << (ROW_FORMAT - 570)) | (1L << (RTREE - 570)) | (1L << (SAVEPOINT - 570)) | (1L << (SCHEDULE - 570)) | (1L << (SCHEMA_NAME - 570)) | (1L << (SECOND - 570)) | (1L << (SECONDARY - 570)) | (1L << (SECONDARY_ENGINE - 570)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 570)) | (1L << (SECONDARY_LOAD - 570)) | (1L << (SECONDARY_UNLOAD - 570)) | (1L << (SECURITY - 570)) | (1L << (SERIAL - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (SERIALIZABLE - 634)) | (1L << (SERVER - 634)) | (1L << (SESSION - 634)) | (1L << (SHARE - 634)) | (1L << (SHUTDOWN - 634)) | (1L << (SIGNED - 634)) | (1L << (SIMPLE - 634)) | (1L << (SLAVE - 634)) | (1L << (SLOW - 634)) | (1L << (SNAPSHOT - 634)) | (1L << (SOCKET - 634)) | (1L << (SONAME - 634)) | (1L << (SOUNDS - 634)) | (1L << (SOURCE - 634)) | (1L << (SQL_AFTER_GTIDS - 634)) | (1L << (SQL_AFTER_MTS_GAPS - 634)) | (1L << (SQL_BEFORE_GTIDS - 634)) | (1L << (SQL_BUFFER_RESULT - 634)) | (1L << (SQL_NO_CACHE - 634)) | (1L << (SQL_THREAD - 634)) | (1L << (SRID - 634)) | (1L << (STACKED - 634)) | (1L << (START - 634)) | (1L << (STARTS - 634)) | (1L << (STATS_AUTO_RECALC - 634)) | (1L << (STATS_PERSISTENT - 634)) | (1L << (STATS_SAMPLE_PAGES - 634)) | (1L << (STATUS - 634)) | (1L << (STOP - 634)) | (1L << (STORAGE - 634)) | (1L << (STREAM - 634)) | (1L << (STRING - 634)) | (1L << (SUBCLASS_ORIGIN - 634)) | (1L << (SUBJECT - 634)) | (1L << (SUBPARTITION - 634)) | (1L << (SUBPARTITIONS - 634)) | (1L << (SUPER - 634)) | (1L << (SUSPEND - 634)) | (1L << (SWAPS - 634)) | (1L << (SWITCHES - 634)) | (1L << (SYSTEM - 634)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (TABLE - 722)) | (1L << (TABLES - 722)) | (1L << (TABLESPACE - 722)) | (1L << (TABLE_CHECKSUM - 722)) | (1L << (TABLE_NAME - 722)) | (1L << (TEMPORARY - 722)) | (1L << (TEMPTABLE - 722)) | (1L << (TEXT - 722)) | (1L << (THAN - 722)) | (1L << (THREAD_PRIORITY - 722)) | (1L << (TIES - 722)) | (1L << (TIME - 722)) | (1L << (TIMESTAMP - 722)) | (1L << (TIMESTAMP_ADD - 722)) | (1L << (TIMESTAMP_DIFF - 722)) | (1L << (TLS - 722)) | (1L << (TRANSACTION - 722)) | (1L << (TRIGGERS - 722)) | (1L << (TRUNCATE - 722)) | (1L << (TYPE - 722)) | (1L << (TYPES - 722)) | (1L << (UNBOUNDED - 722)) | (1L << (UNCOMMITTED - 722)) | (1L << (UNDEFINED - 722)) | (1L << (UNDOFILE - 722)) | (1L << (UNDO_BUFFER_SIZE - 722)) | (1L << (UNICODE - 722)) | (1L << (UNINSTALL - 722)) | (1L << (UNKNOWN - 722)) | (1L << (UNTIL - 722)) | (1L << (UPGRADE - 722)) | (1L << (USER - 722)) | (1L << (USER_RESOURCES - 722)) | (1L << (USE_FRM - 722)) | (1L << (UTC_DATE - 722)) | (1L << (UTC_TIME - 722)) | (1L << (UTC_TIMESTAMP - 722)) | (1L << (VALIDATION - 722)) | (1L << (VALUE - 722)) | (1L << (VARIABLES - 722)))) != 0) || ((((_la - 787)) & ~0x3f) == 0 && ((1L << (_la - 787)) & ((1L << (VCPU - 787)) | (1L << (VIEW - 787)) | (1L << (VISIBLE - 787)) | (1L << (WAIT - 787)) | (1L << (WARNINGS - 787)) | (1L << (WEEK - 787)) | (1L << (WEIGHT_STRING - 787)) | (1L << (WITHOUT - 787)) | (1L << (WORK - 787)) | (1L << (WRAPPER - 787)) | (1L << (X509 - 787)) | (1L << (XA - 787)) | (1L << (XID - 787)) | (1L << (XML - 787)) | (1L << (YEAR - 787)) | (1L << (YEAR_MONTH - 787)) | (1L << (DOUBLE_QUOTED_TEXT - 787)) | (1L << (BQUOTA_STRING - 787)) | (1L << (UNDERSCORE_CHARSET - 787)))) != 0) || _la==IDENTIFIER_) {
28461 {
28462 setState(2781);
28463 identifier();
28464 setState(2786);
28465 _errHandler.sync(this);
28466 _la = _input.LA(1);
28467 while (_la==COMMA_) {
28468 {
28469 {
28470 setState(2782);
28471 match(COMMA_);
28472 setState(2783);
28473 identifier();
28474 }
28475 }
28476 setState(2788);
28477 _errHandler.sync(this);
28478 _la = _input.LA(1);
28479 }
28480 }
28481 }
28482
28483 setState(2791);
28484 match(RP_);
28485 }
28486 }
28487 catch (RecognitionException re) {
28488 _localctx.exception = re;
28489 _errHandler.reportError(this, re);
28490 _errHandler.recover(this, re);
28491 }
28492 finally {
28493 exitRule();
28494 }
28495 return _localctx;
28496 }
28497
28498 public static class IfNotExistsContext extends ParserRuleContext {
28499 public TerminalNode IF() { return getToken(HiveStatementParser.IF, 0); }
28500 public TerminalNode NOT() { return getToken(HiveStatementParser.NOT, 0); }
28501 public TerminalNode EXISTS() { return getToken(HiveStatementParser.EXISTS, 0); }
28502 public IfNotExistsContext(ParserRuleContext parent, int invokingState) {
28503 super(parent, invokingState);
28504 }
28505 @Override public int getRuleIndex() { return RULE_ifNotExists; }
28506 @Override
28507 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28508 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIfNotExists(this);
28509 else return visitor.visitChildren(this);
28510 }
28511 }
28512
28513 public final IfNotExistsContext ifNotExists() throws RecognitionException {
28514 IfNotExistsContext _localctx = new IfNotExistsContext(_ctx, getState());
28515 enterRule(_localctx, 482, RULE_ifNotExists);
28516 try {
28517 enterOuterAlt(_localctx, 1);
28518 {
28519 setState(2793);
28520 match(IF);
28521 setState(2794);
28522 match(NOT);
28523 setState(2795);
28524 match(EXISTS);
28525 }
28526 }
28527 catch (RecognitionException re) {
28528 _localctx.exception = re;
28529 _errHandler.reportError(this, re);
28530 _errHandler.recover(this, re);
28531 }
28532 finally {
28533 exitRule();
28534 }
28535 return _localctx;
28536 }
28537
28538 public static class IfExistsContext extends ParserRuleContext {
28539 public TerminalNode IF() { return getToken(HiveStatementParser.IF, 0); }
28540 public TerminalNode EXISTS() { return getToken(HiveStatementParser.EXISTS, 0); }
28541 public IfExistsContext(ParserRuleContext parent, int invokingState) {
28542 super(parent, invokingState);
28543 }
28544 @Override public int getRuleIndex() { return RULE_ifExists; }
28545 @Override
28546 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28547 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitIfExists(this);
28548 else return visitor.visitChildren(this);
28549 }
28550 }
28551
28552 public final IfExistsContext ifExists() throws RecognitionException {
28553 IfExistsContext _localctx = new IfExistsContext(_ctx, getState());
28554 enterRule(_localctx, 484, RULE_ifExists);
28555 try {
28556 enterOuterAlt(_localctx, 1);
28557 {
28558 setState(2797);
28559 match(IF);
28560 setState(2798);
28561 match(EXISTS);
28562 }
28563 }
28564 catch (RecognitionException re) {
28565 _localctx.exception = re;
28566 _errHandler.reportError(this, re);
28567 _errHandler.recover(this, re);
28568 }
28569 finally {
28570 exitRule();
28571 }
28572 return _localctx;
28573 }
28574
28575 public static class ConnectionIdContext extends ParserRuleContext {
28576 public TerminalNode NUMBER_() { return getToken(HiveStatementParser.NUMBER_, 0); }
28577 public ConnectionIdContext(ParserRuleContext parent, int invokingState) {
28578 super(parent, invokingState);
28579 }
28580 @Override public int getRuleIndex() { return RULE_connectionId; }
28581 @Override
28582 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28583 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitConnectionId(this);
28584 else return visitor.visitChildren(this);
28585 }
28586 }
28587
28588 public final ConnectionIdContext connectionId() throws RecognitionException {
28589 ConnectionIdContext _localctx = new ConnectionIdContext(_ctx, getState());
28590 enterRule(_localctx, 486, RULE_connectionId);
28591 try {
28592 enterOuterAlt(_localctx, 1);
28593 {
28594 setState(2800);
28595 match(NUMBER_);
28596 }
28597 }
28598 catch (RecognitionException re) {
28599 _localctx.exception = re;
28600 _errHandler.reportError(this, re);
28601 _errHandler.recover(this, re);
28602 }
28603 finally {
28604 exitRule();
28605 }
28606 return _localctx;
28607 }
28608
28609 public static class LabelNameContext extends ParserRuleContext {
28610 public IdentifierContext identifier() {
28611 return getRuleContext(IdentifierContext.class,0);
28612 }
28613 public LabelNameContext(ParserRuleContext parent, int invokingState) {
28614 super(parent, invokingState);
28615 }
28616 @Override public int getRuleIndex() { return RULE_labelName; }
28617 @Override
28618 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28619 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitLabelName(this);
28620 else return visitor.visitChildren(this);
28621 }
28622 }
28623
28624 public final LabelNameContext labelName() throws RecognitionException {
28625 LabelNameContext _localctx = new LabelNameContext(_ctx, getState());
28626 enterRule(_localctx, 488, RULE_labelName);
28627 try {
28628 enterOuterAlt(_localctx, 1);
28629 {
28630 setState(2802);
28631 identifier();
28632 }
28633 }
28634 catch (RecognitionException re) {
28635 _localctx.exception = re;
28636 _errHandler.reportError(this, re);
28637 _errHandler.recover(this, re);
28638 }
28639 finally {
28640 exitRule();
28641 }
28642 return _localctx;
28643 }
28644
28645 public static class CursorNameContext extends ParserRuleContext {
28646 public IdentifierContext identifier() {
28647 return getRuleContext(IdentifierContext.class,0);
28648 }
28649 public CursorNameContext(ParserRuleContext parent, int invokingState) {
28650 super(parent, invokingState);
28651 }
28652 @Override public int getRuleIndex() { return RULE_cursorName; }
28653 @Override
28654 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28655 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCursorName(this);
28656 else return visitor.visitChildren(this);
28657 }
28658 }
28659
28660 public final CursorNameContext cursorName() throws RecognitionException {
28661 CursorNameContext _localctx = new CursorNameContext(_ctx, getState());
28662 enterRule(_localctx, 490, RULE_cursorName);
28663 try {
28664 enterOuterAlt(_localctx, 1);
28665 {
28666 setState(2804);
28667 identifier();
28668 }
28669 }
28670 catch (RecognitionException re) {
28671 _localctx.exception = re;
28672 _errHandler.reportError(this, re);
28673 _errHandler.recover(this, re);
28674 }
28675 finally {
28676 exitRule();
28677 }
28678 return _localctx;
28679 }
28680
28681 public static class ConditionNameContext extends ParserRuleContext {
28682 public IdentifierContext identifier() {
28683 return getRuleContext(IdentifierContext.class,0);
28684 }
28685 public ConditionNameContext(ParserRuleContext parent, int invokingState) {
28686 super(parent, invokingState);
28687 }
28688 @Override public int getRuleIndex() { return RULE_conditionName; }
28689 @Override
28690 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28691 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitConditionName(this);
28692 else return visitor.visitChildren(this);
28693 }
28694 }
28695
28696 public final ConditionNameContext conditionName() throws RecognitionException {
28697 ConditionNameContext _localctx = new ConditionNameContext(_ctx, getState());
28698 enterRule(_localctx, 492, RULE_conditionName);
28699 try {
28700 enterOuterAlt(_localctx, 1);
28701 {
28702 setState(2806);
28703 identifier();
28704 }
28705 }
28706 catch (RecognitionException re) {
28707 _localctx.exception = re;
28708 _errHandler.reportError(this, re);
28709 _errHandler.recover(this, re);
28710 }
28711 finally {
28712 exitRule();
28713 }
28714 return _localctx;
28715 }
28716
28717 public static class CombineOptionContext extends ParserRuleContext {
28718 public TerminalNode ALL() { return getToken(HiveStatementParser.ALL, 0); }
28719 public TerminalNode DISTINCT() { return getToken(HiveStatementParser.DISTINCT, 0); }
28720 public CombineOptionContext(ParserRuleContext parent, int invokingState) {
28721 super(parent, invokingState);
28722 }
28723 @Override public int getRuleIndex() { return RULE_combineOption; }
28724 @Override
28725 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28726 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitCombineOption(this);
28727 else return visitor.visitChildren(this);
28728 }
28729 }
28730
28731 public final CombineOptionContext combineOption() throws RecognitionException {
28732 CombineOptionContext _localctx = new CombineOptionContext(_ctx, getState());
28733 enterRule(_localctx, 494, RULE_combineOption);
28734 int _la;
28735 try {
28736 enterOuterAlt(_localctx, 1);
28737 {
28738 setState(2808);
28739 _la = _input.LA(1);
28740 if ( !(_la==ALL || _la==DISTINCT) ) {
28741 _errHandler.recoverInline(this);
28742 }
28743 else {
28744 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28745 _errHandler.reportMatch(this);
28746 consume();
28747 }
28748 }
28749 }
28750 catch (RecognitionException re) {
28751 _localctx.exception = re;
28752 _errHandler.reportError(this, re);
28753 _errHandler.recover(this, re);
28754 }
28755 finally {
28756 exitRule();
28757 }
28758 return _localctx;
28759 }
28760
28761 public static class NoWriteToBinLogContext extends ParserRuleContext {
28762 public TerminalNode LOCAL() { return getToken(HiveStatementParser.LOCAL, 0); }
28763 public TerminalNode NO_WRITE_TO_BINLOG() { return getToken(HiveStatementParser.NO_WRITE_TO_BINLOG, 0); }
28764 public NoWriteToBinLogContext(ParserRuleContext parent, int invokingState) {
28765 super(parent, invokingState);
28766 }
28767 @Override public int getRuleIndex() { return RULE_noWriteToBinLog; }
28768 @Override
28769 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28770 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitNoWriteToBinLog(this);
28771 else return visitor.visitChildren(this);
28772 }
28773 }
28774
28775 public final NoWriteToBinLogContext noWriteToBinLog() throws RecognitionException {
28776 NoWriteToBinLogContext _localctx = new NoWriteToBinLogContext(_ctx, getState());
28777 enterRule(_localctx, 496, RULE_noWriteToBinLog);
28778 int _la;
28779 try {
28780 enterOuterAlt(_localctx, 1);
28781 {
28782 setState(2810);
28783 _la = _input.LA(1);
28784 if ( !(_la==LOCAL || _la==NO_WRITE_TO_BINLOG) ) {
28785 _errHandler.recoverInline(this);
28786 }
28787 else {
28788 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28789 _errHandler.reportMatch(this);
28790 consume();
28791 }
28792 }
28793 }
28794 catch (RecognitionException re) {
28795 _localctx.exception = re;
28796 _errHandler.reportError(this, re);
28797 _errHandler.recover(this, re);
28798 }
28799 finally {
28800 exitRule();
28801 }
28802 return _localctx;
28803 }
28804
28805 public static class ChannelOptionContext extends ParserRuleContext {
28806 public TerminalNode FOR() { return getToken(HiveStatementParser.FOR, 0); }
28807 public TerminalNode CHANNEL() { return getToken(HiveStatementParser.CHANNEL, 0); }
28808 public String_Context string_() {
28809 return getRuleContext(String_Context.class,0);
28810 }
28811 public ChannelOptionContext(ParserRuleContext parent, int invokingState) {
28812 super(parent, invokingState);
28813 }
28814 @Override public int getRuleIndex() { return RULE_channelOption; }
28815 @Override
28816 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28817 if ( visitor instanceof HiveStatementVisitor ) return ((HiveStatementVisitor<? extends T>)visitor).visitChannelOption(this);
28818 else return visitor.visitChildren(this);
28819 }
28820 }
28821
28822 public final ChannelOptionContext channelOption() throws RecognitionException {
28823 ChannelOptionContext _localctx = new ChannelOptionContext(_ctx, getState());
28824 enterRule(_localctx, 498, RULE_channelOption);
28825 try {
28826 enterOuterAlt(_localctx, 1);
28827 {
28828 setState(2812);
28829 match(FOR);
28830 setState(2813);
28831 match(CHANNEL);
28832 setState(2814);
28833 string_();
28834 }
28835 }
28836 catch (RecognitionException re) {
28837 _localctx.exception = re;
28838 _errHandler.reportError(this, re);
28839 _errHandler.recover(this, re);
28840 }
28841 finally {
28842 exitRule();
28843 }
28844 return _localctx;
28845 }
28846
28847 public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
28848 switch (ruleIndex) {
28849 case 25:
28850 return queryExpressionBody_sempred((QueryExpressionBodyContext)_localctx, predIndex);
28851 case 154:
28852 return expr_sempred((ExprContext)_localctx, predIndex);
28853 case 158:
28854 return booleanPrimary_sempred((BooleanPrimaryContext)_localctx, predIndex);
28855 case 162:
28856 return bitExpr_sempred((BitExprContext)_localctx, predIndex);
28857 case 163:
28858 return simpleExpr_sempred((SimpleExprContext)_localctx, predIndex);
28859 }
28860 return true;
28861 }
28862 private boolean queryExpressionBody_sempred(QueryExpressionBodyContext _localctx, int predIndex) {
28863 switch (predIndex) {
28864 case 0:
28865 return precpred(_ctx, 1);
28866 }
28867 return true;
28868 }
28869 private boolean expr_sempred(ExprContext _localctx, int predIndex) {
28870 switch (predIndex) {
28871 case 1:
28872 return precpred(_ctx, 4);
28873 case 2:
28874 return precpred(_ctx, 3);
28875 case 3:
28876 return precpred(_ctx, 2);
28877 }
28878 return true;
28879 }
28880 private boolean booleanPrimary_sempred(BooleanPrimaryContext _localctx, int predIndex) {
28881 switch (predIndex) {
28882 case 4:
28883 return precpred(_ctx, 7);
28884 case 5:
28885 return precpred(_ctx, 6);
28886 case 6:
28887 return precpred(_ctx, 5);
28888 case 7:
28889 return precpred(_ctx, 4);
28890 case 8:
28891 return precpred(_ctx, 3);
28892 case 9:
28893 return precpred(_ctx, 2);
28894 }
28895 return true;
28896 }
28897 private boolean bitExpr_sempred(BitExprContext _localctx, int predIndex) {
28898 switch (predIndex) {
28899 case 10:
28900 return precpred(_ctx, 15);
28901 case 11:
28902 return precpred(_ctx, 14);
28903 case 12:
28904 return precpred(_ctx, 13);
28905 case 13:
28906 return precpred(_ctx, 12);
28907 case 14:
28908 return precpred(_ctx, 11);
28909 case 15:
28910 return precpred(_ctx, 10);
28911 case 16:
28912 return precpred(_ctx, 9);
28913 case 17:
28914 return precpred(_ctx, 8);
28915 case 18:
28916 return precpred(_ctx, 7);
28917 case 19:
28918 return precpred(_ctx, 6);
28919 case 20:
28920 return precpred(_ctx, 5);
28921 case 21:
28922 return precpred(_ctx, 4);
28923 case 22:
28924 return precpred(_ctx, 3);
28925 case 23:
28926 return precpred(_ctx, 2);
28927 }
28928 return true;
28929 }
28930 private boolean simpleExpr_sempred(SimpleExprContext _localctx, int predIndex) {
28931 switch (predIndex) {
28932 case 24:
28933 return precpred(_ctx, 10);
28934 case 25:
28935 return precpred(_ctx, 12);
28936 }
28937 return true;
28938 }
28939
28940 private static final String _serializedATNSegment0 =
28941 "\u0004\u0001\u0357\u0b01\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001"+
28942 "\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004"+
28943 "\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007"+
28944 "\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b"+
28945 "\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007"+
28946 "\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007"+
28947 "\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007"+
28948 "\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007"+
28949 "\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007"+
28950 "\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007"+
28951 "\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007"+
28952 "\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007"+
28953 "\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007"+
28954 ",\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u0007"+
28955 "1\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u00075\u00026\u0007"+
28956 "6\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007:\u0002;\u0007"+
28957 ";\u0002<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007?\u0002@\u0007"+
28958 "@\u0002A\u0007A\u0002B\u0007B\u0002C\u0007C\u0002D\u0007D\u0002E\u0007"+
28959 "E\u0002F\u0007F\u0002G\u0007G\u0002H\u0007H\u0002I\u0007I\u0002J\u0007"+
28960 "J\u0002K\u0007K\u0002L\u0007L\u0002M\u0007M\u0002N\u0007N\u0002O\u0007"+
28961 "O\u0002P\u0007P\u0002Q\u0007Q\u0002R\u0007R\u0002S\u0007S\u0002T\u0007"+
28962 "T\u0002U\u0007U\u0002V\u0007V\u0002W\u0007W\u0002X\u0007X\u0002Y\u0007"+
28963 "Y\u0002Z\u0007Z\u0002[\u0007[\u0002\\\u0007\\\u0002]\u0007]\u0002^\u0007"+
28964 "^\u0002_\u0007_\u0002`\u0007`\u0002a\u0007a\u0002b\u0007b\u0002c\u0007"+
28965 "c\u0002d\u0007d\u0002e\u0007e\u0002f\u0007f\u0002g\u0007g\u0002h\u0007"+
28966 "h\u0002i\u0007i\u0002j\u0007j\u0002k\u0007k\u0002l\u0007l\u0002m\u0007"+
28967 "m\u0002n\u0007n\u0002o\u0007o\u0002p\u0007p\u0002q\u0007q\u0002r\u0007"+
28968 "r\u0002s\u0007s\u0002t\u0007t\u0002u\u0007u\u0002v\u0007v\u0002w\u0007"+
28969 "w\u0002x\u0007x\u0002y\u0007y\u0002z\u0007z\u0002{\u0007{\u0002|\u0007"+
28970 "|\u0002}\u0007}\u0002~\u0007~\u0002\u007f\u0007\u007f\u0002\u0080\u0007"+
28971 "\u0080\u0002\u0081\u0007\u0081\u0002\u0082\u0007\u0082\u0002\u0083\u0007"+
28972 "\u0083\u0002\u0084\u0007\u0084\u0002\u0085\u0007\u0085\u0002\u0086\u0007"+
28973 "\u0086\u0002\u0087\u0007\u0087\u0002\u0088\u0007\u0088\u0002\u0089\u0007"+
28974 "\u0089\u0002\u008a\u0007\u008a\u0002\u008b\u0007\u008b\u0002\u008c\u0007"+
28975 "\u008c\u0002\u008d\u0007\u008d\u0002\u008e\u0007\u008e\u0002\u008f\u0007"+
28976 "\u008f\u0002\u0090\u0007\u0090\u0002\u0091\u0007\u0091\u0002\u0092\u0007"+
28977 "\u0092\u0002\u0093\u0007\u0093\u0002\u0094\u0007\u0094\u0002\u0095\u0007"+
28978 "\u0095\u0002\u0096\u0007\u0096\u0002\u0097\u0007\u0097\u0002\u0098\u0007"+
28979 "\u0098\u0002\u0099\u0007\u0099\u0002\u009a\u0007\u009a\u0002\u009b\u0007"+
28980 "\u009b\u0002\u009c\u0007\u009c\u0002\u009d\u0007\u009d\u0002\u009e\u0007"+
28981 "\u009e\u0002\u009f\u0007\u009f\u0002\u00a0\u0007\u00a0\u0002\u00a1\u0007"+
28982 "\u00a1\u0002\u00a2\u0007\u00a2\u0002\u00a3\u0007\u00a3\u0002\u00a4\u0007"+
28983 "\u00a4\u0002\u00a5\u0007\u00a5\u0002\u00a6\u0007\u00a6\u0002\u00a7\u0007"+
28984 "\u00a7\u0002\u00a8\u0007\u00a8\u0002\u00a9\u0007\u00a9\u0002\u00aa\u0007"+
28985 "\u00aa\u0002\u00ab\u0007\u00ab\u0002\u00ac\u0007\u00ac\u0002\u00ad\u0007"+
28986 "\u00ad\u0002\u00ae\u0007\u00ae\u0002\u00af\u0007\u00af\u0002\u00b0\u0007"+
28987 "\u00b0\u0002\u00b1\u0007\u00b1\u0002\u00b2\u0007\u00b2\u0002\u00b3\u0007"+
28988 "\u00b3\u0002\u00b4\u0007\u00b4\u0002\u00b5\u0007\u00b5\u0002\u00b6\u0007"+
28989 "\u00b6\u0002\u00b7\u0007\u00b7\u0002\u00b8\u0007\u00b8\u0002\u00b9\u0007"+
28990 "\u00b9\u0002\u00ba\u0007\u00ba\u0002\u00bb\u0007\u00bb\u0002\u00bc\u0007"+
28991 "\u00bc\u0002\u00bd\u0007\u00bd\u0002\u00be\u0007\u00be\u0002\u00bf\u0007"+
28992 "\u00bf\u0002\u00c0\u0007\u00c0\u0002\u00c1\u0007\u00c1\u0002\u00c2\u0007"+
28993 "\u00c2\u0002\u00c3\u0007\u00c3\u0002\u00c4\u0007\u00c4\u0002\u00c5\u0007"+
28994 "\u00c5\u0002\u00c6\u0007\u00c6\u0002\u00c7\u0007\u00c7\u0002\u00c8\u0007"+
28995 "\u00c8\u0002\u00c9\u0007\u00c9\u0002\u00ca\u0007\u00ca\u0002\u00cb\u0007"+
28996 "\u00cb\u0002\u00cc\u0007\u00cc\u0002\u00cd\u0007\u00cd\u0002\u00ce\u0007"+
28997 "\u00ce\u0002\u00cf\u0007\u00cf\u0002\u00d0\u0007\u00d0\u0002\u00d1\u0007"+
28998 "\u00d1\u0002\u00d2\u0007\u00d2\u0002\u00d3\u0007\u00d3\u0002\u00d4\u0007"+
28999 "\u00d4\u0002\u00d5\u0007\u00d5\u0002\u00d6\u0007\u00d6\u0002\u00d7\u0007"+
29000 "\u00d7\u0002\u00d8\u0007\u00d8\u0002\u00d9\u0007\u00d9\u0002\u00da\u0007"+
29001 "\u00da\u0002\u00db\u0007\u00db\u0002\u00dc\u0007\u00dc\u0002\u00dd\u0007"+
29002 "\u00dd\u0002\u00de\u0007\u00de\u0002\u00df\u0007\u00df\u0002\u00e0\u0007"+
29003 "\u00e0\u0002\u00e1\u0007\u00e1\u0002\u00e2\u0007\u00e2\u0002\u00e3\u0007"+
29004 "\u00e3\u0002\u00e4\u0007\u00e4\u0002\u00e5\u0007\u00e5\u0002\u00e6\u0007"+
29005 "\u00e6\u0002\u00e7\u0007\u00e7\u0002\u00e8\u0007\u00e8\u0002\u00e9\u0007"+
29006 "\u00e9\u0002\u00ea\u0007\u00ea\u0002\u00eb\u0007\u00eb\u0002\u00ec\u0007"+
29007 "\u00ec\u0002\u00ed\u0007\u00ed\u0002\u00ee\u0007\u00ee\u0002\u00ef\u0007"+
29008 "\u00ef\u0002\u00f0\u0007\u00f0\u0002\u00f1\u0007\u00f1\u0002\u00f2\u0007"+
29009 "\u00f2\u0002\u00f3\u0007\u00f3\u0002\u00f4\u0007\u00f4\u0002\u00f5\u0007"+
29010 "\u00f5\u0002\u00f6\u0007\u00f6\u0002\u00f7\u0007\u00f7\u0002\u00f8\u0007"+
29011 "\u00f8\u0002\u00f9\u0007\u00f9\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
29012 "\u0000\u0003\u0000\u01f9\b\u0000\u0001\u0000\u0001\u0000\u0003\u0000\u01fd"+
29013 "\b\u0000\u0001\u0000\u0003\u0000\u0200\b\u0000\u0001\u0000\u0003\u0000"+
29014 "\u0203\b\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0208\b"+
29015 "\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u020c\b\u0001\u0001\u0001\u0001"+
29016 "\u0001\u0001\u0001\u0003\u0001\u0211\b\u0001\u0001\u0001\u0003\u0001\u0214"+
29017 "\b\u0001\u0001\u0002\u0003\u0002\u0217\b\u0002\u0001\u0002\u0003\u0002"+
29018 "\u021a\b\u0002\u0001\u0003\u0001\u0003\u0003\u0003\u021e\b\u0003\u0001"+
29019 "\u0003\u0003\u0003\u0221\b\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001"+
29020 "\u0003\u0005\u0003\u0227\b\u0003\n\u0003\f\u0003\u022a\t\u0003\u0001\u0003"+
29021 "\u0003\u0003\u022d\b\u0003\u0001\u0003\u0003\u0003\u0230\b\u0003\u0001"+
29022 "\u0004\u0001\u0004\u0001\u0004\u0005\u0004\u0235\b\u0004\n\u0004\f\u0004"+
29023 "\u0238\t\u0004\u0001\u0005\u0001\u0005\u0003\u0005\u023c\b\u0005\u0001"+
29024 "\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0003\u0006\u0243"+
29025 "\b\u0006\u0001\u0006\u0001\u0006\u0001\u0007\u0003\u0007\u0248\b\u0007"+
29026 "\u0001\u0007\u0001\u0007\u0003\u0007\u024c\b\u0007\u0001\u0007\u0003\u0007"+
29027 "\u024f\b\u0007\u0001\u0007\u0001\u0007\u0001\b\u0001\b\u0003\b\u0255\b"+
29028 "\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0005\b\u025e"+
29029 "\b\b\n\b\f\b\u0261\t\b\u0001\t\u0001\t\u0001\t\u0003\t\u0266\b\t\u0001"+
29030 "\n\u0001\n\u0001\n\u0001\n\u0005\n\u026c\b\n\n\n\f\n\u026f\t\n\u0001\n"+
29031 "\u0001\n\u0001\u000b\u0003\u000b\u0274\b\u000b\u0001\u000b\u0001\u000b"+
29032 "\u0001\u000b\u0001\u000b\u0001\u000b\u0003\u000b\u027b\b\u000b\u0001\u000b"+
29033 "\u0003\u000b\u027e\b\u000b\u0001\u000b\u0003\u000b\u0281\b\u000b\u0001"+
29034 "\f\u0003\f\u0284\b\f\u0001\f\u0003\f\u0287\b\f\u0001\r\u0001\r\u0001\r"+
29035 "\u0001\r\u0001\u000e\u0003\u000e\u028e\b\u000e\u0001\u000e\u0001\u000e"+
29036 "\u0001\u000e\u0001\u000e\u0005\u000e\u0294\b\u000e\n\u000e\f\u000e\u0297"+
29037 "\t\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0005\u000f\u029d"+
29038 "\b\u000f\n\u000f\f\u000f\u02a0\t\u000f\u0001\u000f\u0001\u000f\u0001\u000f"+
29039 "\u0001\u000f\u0003\u000f\u02a6\b\u000f\u0001\u0010\u0001\u0010\u0001\u0010"+
29040 "\u0003\u0010\u02ab\b\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0012"+
29041 "\u0001\u0012\u0001\u0012\u0001\u0012\u0003\u0012\u02b4\b\u0012\u0001\u0012"+
29042 "\u0003\u0012\u02b7\b\u0012\u0001\u0012\u0003\u0012\u02ba\b\u0012\u0001"+
29043 "\u0012\u0003\u0012\u02bd\b\u0012\u0001\u0013\u0003\u0013\u02c0\b\u0013"+
29044 "\u0001\u0013\u0003\u0013\u02c3\b\u0013\u0001\u0013\u0003\u0013\u02c6\b"+
29045 "\u0013\u0001\u0014\u0001\u0014\u0001\u0014\u0003\u0014\u02cb\b\u0014\u0001"+
29046 "\u0014\u0003\u0014\u02ce\b\u0014\u0001\u0014\u0003\u0014\u02d1\b\u0014"+
29047 "\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015"+
29048 "\u0001\u0015\u0001\u0015\u0001\u0015\u0003\u0015\u02dc\b\u0015\u0001\u0016"+
29049 "\u0001\u0016\u0003\u0016\u02e0\b\u0016\u0001\u0016\u0001\u0016\u0003\u0016"+
29050 "\u02e4\b\u0016\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017"+
29051 "\u0001\u0017\u0001\u0017\u0003\u0017\u02ed\b\u0017\u0001\u0017\u0001\u0017"+
29052 "\u0001\u0017\u0001\u0017\u0003\u0017\u02f3\b\u0017\u0001\u0018\u0003\u0018"+
29053 "\u02f6\b\u0018\u0001\u0018\u0001\u0018\u0003\u0018\u02fa\b\u0018\u0001"+
29054 "\u0018\u0003\u0018\u02fd\b\u0018\u0001\u0018\u0003\u0018\u0300\b\u0018"+
29055 "\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0003\u0019"+
29056 "\u0307\b\u0019\u0001\u0019\u0001\u0019\u0005\u0019\u030b\b\u0019\n\u0019"+
29057 "\f\u0019\u030e\t\u0019\u0001\u001a\u0001\u001a\u0003\u001a\u0312\b\u001a"+
29058 "\u0001\u001a\u0001\u001a\u0003\u001a\u0316\b\u001a\u0001\u001a\u0001\u001a"+
29059 "\u0003\u001a\u031a\b\u001a\u0001\u001a\u0001\u001a\u0003\u001a\u031e\b"+
29060 "\u001a\u0003\u001a\u0320\b\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0001"+
29061 "\u001b\u0003\u001b\u0326\b\u001b\u0003\u001b\u0328\b\u001b\u0001\u001b"+
29062 "\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0003\u001c\u032f\b\u001c"+
29063 "\u0001\u001d\u0001\u001d\u0005\u001d\u0333\b\u001d\n\u001d\f\u001d\u0336"+
29064 "\t\u001d\u0001\u001d\u0001\u001d\u0003\u001d\u033a\b\u001d\u0001\u001d"+
29065 "\u0003\u001d\u033d\b\u001d\u0001\u001d\u0003\u001d\u0340\b\u001d\u0001"+
29066 "\u001d\u0003\u001d\u0343\b\u001d\u0001\u001d\u0003\u001d\u0346\b\u001d"+
29067 "\u0001\u001d\u0003\u001d\u0349\b\u001d\u0001\u001e\u0001\u001e\u0001\u001e"+
29068 "\u0001\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001 \u0001 \u0001"+
29069 " \u0005 \u0356\b \n \f \u0359\t \u0001!\u0001!\u0003!\u035d\b!\u0001!"+
29070 "\u0001!\u0001!\u0005!\u0362\b!\n!\f!\u0365\t!\u0001\"\u0001\"\u0001\""+
29071 "\u0001\"\u0001\"\u0003\"\u036c\b\"\u0001\"\u0001\"\u0001\"\u0001#\u0001"+
29072 "#\u0001#\u0001#\u0001#\u0001#\u0001#\u0001#\u0003#\u0379\b#\u0001$\u0001"+
29073 "$\u0001%\u0001%\u0003%\u037f\b%\u0001%\u0001%\u0005%\u0383\b%\n%\f%\u0386"+
29074 "\t%\u0001&\u0001&\u0003&\u038a\b&\u0001&\u0003&\u038d\b&\u0001&\u0003"+
29075 "&\u0390\b&\u0001\'\u0001\'\u0001(\u0001(\u0001(\u0003(\u0397\b(\u0001"+
29076 "(\u0001(\u0001(\u0001)\u0001)\u0001)\u0003)\u039f\b)\u0001*\u0001*\u0001"+
29077 "*\u0005*\u03a4\b*\n*\f*\u03a7\t*\u0001+\u0001+\u0005+\u03ab\b+\n+\f+\u03ae"+
29078 "\t+\u0001,\u0001,\u0001,\u0001,\u0001,\u0001,\u0003,\u03b6\b,\u0001,\u0005"+
29079 ",\u03b9\b,\n,\f,\u03bc\t,\u0001-\u0001-\u0003-\u03c0\b-\u0001-\u0003-"+
29080 "\u03c3\b-\u0001-\u0003-\u03c6\b-\u0001-\u0003-\u03c9\b-\u0001-\u0001-"+
29081 "\u0003-\u03cd\b-\u0001-\u0001-\u0001-\u0001-\u0001-\u0003-\u03d4\b-\u0001"+
29082 "-\u0001-\u0001-\u0001-\u0003-\u03da\b-\u0001.\u0001.\u0001.\u0001.\u0001"+
29083 ".\u0005.\u03e1\b.\n.\f.\u03e4\t.\u0001.\u0001.\u0001/\u0001/\u0001/\u0005"+
29084 "/\u03eb\b/\n/\f/\u03ee\t/\u00010\u00010\u00010\u00010\u00010\u00010\u0001"+
29085 "0\u00010\u00030\u03f8\b0\u00030\u03fa\b0\u00010\u00010\u00010\u00010\u0005"+
29086 "0\u0400\b0\n0\f0\u0403\t0\u00010\u00010\u00011\u00011\u00011\u00031\u040a"+
29087 "\b1\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u00031\u0413\b1\u0001"+
29088 "2\u00032\u0416\b2\u00012\u00012\u00032\u041a\b2\u00013\u00013\u00033\u041e"+
29089 "\b3\u00013\u00013\u00014\u00014\u00034\u0424\b4\u00014\u00014\u00014\u0001"+
29090 "4\u00034\u042a\b4\u00014\u00034\u042d\b4\u00015\u00015\u00015\u00015\u0001"+
29091 "5\u00015\u00015\u00035\u0436\b5\u00016\u00016\u00016\u00017\u00017\u0001"+
29092 "7\u00017\u00017\u00057\u0440\b7\n7\f7\u0443\t7\u00017\u00017\u00037\u0447"+
29093 "\b7\u00018\u00018\u00018\u00019\u00019\u00019\u00019\u00039\u0450\b9\u0001"+
29094 "9\u00019\u00019\u00019\u00019\u00039\u0457\b9\u0001:\u0001:\u0003:\u045b"+
29095 "\b:\u0001;\u0001;\u0003;\u045f\b;\u0001<\u0001<\u0001<\u0001<\u0005<\u0465"+
29096 "\b<\n<\f<\u0468\t<\u0001=\u0001=\u0001=\u0001=\u0001>\u0001>\u0001?\u0001"+
29097 "?\u0001?\u0001?\u0001?\u0001?\u0003?\u0476\b?\u0001@\u0001@\u0001@\u0001"+
29098 "@\u0003@\u047c\b@\u0001@\u0001@\u0001@\u0001@\u0001@\u0001@\u0003@\u0484"+
29099 "\b@\u0001A\u0001A\u0001A\u0001A\u0005A\u048a\bA\nA\fA\u048d\tA\u0001A"+
29100 "\u0001A\u0001A\u0001A\u0001A\u0001A\u0001A\u0001A\u0001A\u0003A\u0498"+
29101 "\bA\u0001A\u0001A\u0004A\u049c\bA\u000bA\fA\u049d\u0003A\u04a0\bA\u0001"+
29102 "A\u0001A\u0004A\u04a4\bA\u000bA\fA\u04a5\u0003A\u04a8\bA\u0003A\u04aa"+
29103 "\bA\u0001B\u0001B\u0001B\u0003B\u04af\bB\u0001B\u0003B\u04b2\bB\u0001"+
29104 "B\u0001B\u0001B\u0001B\u0003B\u04b8\bB\u0001C\u0004C\u04bb\bC\u000bC\f"+
29105 "C\u04bc\u0001D\u0001D\u0001E\u0001E\u0001E\u0003E\u04c4\bE\u0001F\u0001"+
29106 "F\u0001F\u0001G\u0001G\u0003G\u04cb\bG\u0001H\u0001H\u0001H\u0005H\u04d0"+
29107 "\bH\nH\fH\u04d3\tH\u0001I\u0001I\u0001J\u0001J\u0001K\u0001K\u0001K\u0001"+
29108 "K\u0001K\u0001K\u0001K\u0003K\u04e0\bK\u0001L\u0001L\u0001M\u0003M\u04e5"+
29109 "\bM\u0001M\u0001M\u0003M\u04e9\bM\u0001N\u0003N\u04ec\bN\u0001N\u0001"+
29110 "N\u0001O\u0001O\u0001O\u0001P\u0003P\u04f4\bP\u0001P\u0001P\u0003P\u04f8"+
29111 "\bP\u0001Q\u0003Q\u04fb\bQ\u0001Q\u0001Q\u0003Q\u04ff\bQ\u0001R\u0001"+
29112 "R\u0001S\u0001S\u0001T\u0001T\u0003T\u0507\bT\u0001U\u0001U\u0001U\u0001"+
29113 "U\u0001U\u0001U\u0001U\u0001U\u0001U\u0001U\u0003U\u0513\bU\u0001V\u0001"+
29114 "V\u0001W\u0001W\u0001X\u0001X\u0001Y\u0001Y\u0001Z\u0001Z\u0001[\u0001"+
29115 "[\u0001[\u0003[\u0522\b[\u0001\\\u0001\\\u0001]\u0001]\u0003]\u0528\b"+
29116 "]\u0001^\u0001^\u0001^\u0003^\u052d\b^\u0001_\u0001_\u0001_\u0001_\u0003"+
29117 "_\u0533\b_\u0001_\u0001_\u0001`\u0001`\u0001`\u0001`\u0001`\u0003`\u053c"+
29118 "\b`\u0001a\u0001a\u0001a\u0001a\u0001a\u0003a\u0543\ba\u0001a\u0001a\u0001"+
29119 "b\u0001b\u0001c\u0001c\u0001c\u0001c\u0001c\u0001c\u0001c\u0001c\u0003"+
29120 "c\u0551\bc\u0001d\u0001d\u0001d\u0001d\u0001d\u0001d\u0001d\u0003d\u055a"+
29121 "\bd\u0001e\u0001e\u0001e\u0003e\u055f\be\u0001e\u0001e\u0001e\u0003e\u0564"+
29122 "\be\u0003e\u0566\be\u0001f\u0001f\u0001f\u0001f\u0001g\u0001g\u0001g\u0001"+
29123 "g\u0001g\u0001g\u0001g\u0003g\u0573\bg\u0001h\u0001h\u0001h\u0001i\u0001"+
29124 "i\u0001j\u0001j\u0001j\u0005j\u057d\bj\nj\fj\u0580\tj\u0001k\u0001k\u0001"+
29125 "k\u0003k\u0585\bk\u0001l\u0001l\u0001l\u0005l\u058a\bl\nl\fl\u058d\tl"+
29126 "\u0001m\u0001m\u0001m\u0001m\u0001m\u0001m\u0001n\u0001n\u0001n\u0003"+
29127 "n\u0598\bn\u0001n\u0001n\u0001o\u0001o\u0001p\u0001p\u0001q\u0001q\u0001"+
29128 "r\u0001r\u0001s\u0001s\u0001t\u0001t\u0001t\u0001t\u0004t\u05aa\bt\u000b"+
29129 "t\ft\u05ab\u0003t\u05ae\bt\u0001u\u0001u\u0001u\u0003u\u05b3\bu\u0001"+
29130 "v\u0001v\u0001v\u0001v\u0003v\u05b9\bv\u0003v\u05bb\bv\u0001w\u0001w\u0001"+
29131 "w\u0003w\u05c0\bw\u0001w\u0001w\u0001x\u0001x\u0001y\u0001y\u0001z\u0001"+
29132 "z\u0001z\u0003z\u05cb\bz\u0001z\u0001z\u0001{\u0001{\u0001{\u0003{\u05d2"+
29133 "\b{\u0001{\u0001{\u0001|\u0001|\u0001|\u0003|\u05d9\b|\u0001|\u0001|\u0001"+
29134 "}\u0001}\u0001~\u0001~\u0001\u007f\u0001\u007f\u0001\u0080\u0001\u0080"+
29135 "\u0001\u0080\u0005\u0080\u05e6\b\u0080\n\u0080\f\u0080\u05e9\t\u0080\u0001"+
29136 "\u0081\u0001\u0081\u0001\u0081\u0005\u0081\u05ee\b\u0081\n\u0081\f\u0081"+
29137 "\u05f1\t\u0081\u0001\u0082\u0001\u0082\u0001\u0082\u0005\u0082\u05f6\b"+
29138 "\u0082\n\u0082\f\u0082\u05f9\t\u0082\u0001\u0083\u0001\u0083\u0001\u0084"+
29139 "\u0001\u0084\u0001\u0085\u0001\u0085\u0001\u0086\u0001\u0086\u0001\u0087"+
29140 "\u0001\u0087\u0001\u0088\u0001\u0088\u0001\u0089\u0001\u0089\u0001\u008a"+
29141 "\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008b"+
29142 "\u0001\u008b\u0001\u008c\u0001\u008c\u0001\u008c\u0003\u008c\u0614\b\u008c"+
29143 "\u0001\u008d\u0001\u008d\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e"+
29144 "\u061b\b\u008e\u0001\u008f\u0001\u008f\u0003\u008f\u061f\b\u008f\u0001"+
29145 "\u0090\u0001\u0090\u0001\u0091\u0001\u0091\u0001\u0091\u0003\u0091\u0626"+
29146 "\b\u0091\u0001\u0092\u0001\u0092\u0001\u0093\u0001\u0093\u0001\u0094\u0001"+
29147 "\u0094\u0003\u0094\u062e\b\u0094\u0001\u0095\u0001\u0095\u0001\u0096\u0001"+
29148 "\u0096\u0001\u0096\u0005\u0096\u0635\b\u0096\n\u0096\f\u0096\u0638\t\u0096"+
29149 "\u0001\u0097\u0001\u0097\u0003\u0097\u063c\b\u0097\u0001\u0098\u0001\u0098"+
29150 "\u0001\u0099\u0001\u0099\u0001\u0099\u0001\u009a\u0001\u009a\u0001\u009a"+
29151 "\u0001\u009a\u0001\u009a\u0003\u009a\u0648\b\u009a\u0001\u009a\u0001\u009a"+
29152 "\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a"+
29153 "\u0001\u009a\u0001\u009a\u0001\u009a\u0005\u009a\u0655\b\u009a\n\u009a"+
29154 "\f\u009a\u0658\t\u009a\u0001\u009b\u0001\u009b\u0001\u009c\u0001\u009c"+
29155 "\u0001\u009d\u0001\u009d\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e"+
29156 "\u0001\u009e\u0001\u009e\u0003\u009e\u0666\b\u009e\u0001\u009e\u0001\u009e"+
29157 "\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e"+
29158 "\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e"+
29159 "\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e"+
29160 "\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0005\u009e\u0680\b\u009e"+
29161 "\n\u009e\f\u009e\u0683\t\u009e\u0001\u009f\u0001\u009f\u0001\u00a0\u0001"+
29162 "\u00a0\u0001\u00a1\u0001\u00a1\u0003\u00a1\u068b\b\u00a1\u0001\u00a1\u0001"+
29163 "\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0003\u00a1\u0692\b\u00a1\u0001"+
29164 "\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0005\u00a1\u0699"+
29165 "\b\u00a1\n\u00a1\f\u00a1\u069c\t\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1"+
29166 "\u0001\u00a1\u0003\u00a1\u06a2\b\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1"+
29167 "\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1"+
29168 "\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0003\u00a1\u06b0\b\u00a1\u0001\u00a1"+
29169 "\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0003\u00a1\u06b6\b\u00a1\u0001\u00a1"+
29170 "\u0001\u00a1\u0003\u00a1\u06ba\b\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1"+
29171 "\u0001\u00a1\u0003\u00a1\u06c0\b\u00a1\u0001\u00a2\u0001\u00a2\u0001\u00a2"+
29172 "\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2"+
29173 "\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2"+
29174 "\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2"+
29175 "\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2"+
29176 "\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2"+
29177 "\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2"+
29178 "\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2"+
29179 "\u0005\u00a2\u06ef\b\u00a2\n\u00a2\f\u00a2\u06f2\t\u00a2\u0001\u00a3\u0001"+
29180 "\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001"+
29181 "\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0003\u00a3\u06ff\b\u00a3\u0001"+
29182 "\u00a3\u0001\u00a3\u0003\u00a3\u0703\b\u00a3\u0001\u00a3\u0001\u00a3\u0001"+
29183 "\u00a3\u0001\u00a3\u0005\u00a3\u0709\b\u00a3\n\u00a3\f\u00a3\u070c\t\u00a3"+
29184 "\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0003\u00a3\u0711\b\u00a3\u0001\u00a3"+
29185 "\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3"+
29186 "\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3"+
29187 "\u0003\u00a3\u0720\b\u00a3\u0001\u00a3\u0003\u00a3\u0723\b\u00a3\u0001"+
29188 "\u00a3\u0001\u00a3\u0001\u00a3\u0003\u00a3\u0728\b\u00a3\u0001\u00a3\u0001"+
29189 "\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0005\u00a3\u072f\b\u00a3\n"+
29190 "\u00a3\f\u00a3\u0732\t\u00a3\u0001\u00a4\u0001\u00a4\u0001\u00a5\u0001"+
29191 "\u00a5\u0001\u00a5\u0001\u00a5\u0003\u00a5\u073a\b\u00a5\u0001\u00a5\u0001"+
29192 "\u00a5\u0001\u00a5\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0003\u00a6\u0742"+
29193 "\b\u00a6\u0001\u00a6\u0001\u00a6\u0003\u00a6\u0746\b\u00a6\u0001\u00a7"+
29194 "\u0001\u00a7\u0001\u00a7\u0005\u00a7\u074b\b\u00a7\n\u00a7\f\u00a7\u074e"+
29195 "\t\u00a7\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0003"+
29196 "\u00a8\u0755\b\u00a8\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0003\u00a9\u075a"+
29197 "\b\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0005\u00a9\u075f\b\u00a9"+
29198 "\n\u00a9\f\u00a9\u0762\t\u00a9\u0003\u00a9\u0764\b\u00a9\u0001\u00a9\u0001"+
29199 "\u00a9\u0001\u00aa\u0001\u00aa\u0001\u00aa\u0003\u00aa\u076b\b\u00aa\u0001"+
29200 "\u00aa\u0001\u00aa\u0001\u00aa\u0005\u00aa\u0770\b\u00aa\n\u00aa\f\u00aa"+
29201 "\u0773\t\u00aa\u0001\u00aa\u0003\u00aa\u0776\b\u00aa\u0001\u00aa\u0003"+
29202 "\u00aa\u0779\b\u00aa\u0001\u00aa\u0001\u00aa\u0003\u00aa\u077d\b\u00aa"+
29203 "\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
29204 "\u0001\u00ab\u0003\u00ab\u0786\b\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
29205 "\u0005\u00ab\u078b\b\u00ab\n\u00ab\f\u00ab\u078e\t\u00ab\u0003\u00ab\u0790"+
29206 "\b\u00ab\u0001\u00ab\u0001\u00ab\u0003\u00ab\u0794\b\u00ab\u0001\u00ac"+
29207 "\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac"+
29208 "\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac"+
29209 "\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac"+
29210 "\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac"+
29211 "\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac"+
29212 "\u0001\u00ac\u0003\u00ac\u07b6\b\u00ac\u0001\u00ad\u0001\u00ad\u0001\u00ae"+
29213 "\u0001\u00ae\u0001\u00af\u0001\u00af\u0001\u00af\u0003\u00af\u07bf\b\u00af"+
29214 "\u0001\u00b0\u0001\u00b0\u0003\u00b0\u07c3\b\u00b0\u0001\u00b0\u0001\u00b0"+
29215 "\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0005\u00b0\u07ca\b\u00b0\n\u00b0"+
29216 "\f\u00b0\u07cd\t\u00b0\u0003\u00b0\u07cf\b\u00b0\u0001\u00b0\u0003\u00b0"+
29217 "\u07d2\b\u00b0\u0001\u00b0\u0003\u00b0\u07d5\b\u00b0\u0001\u00b0\u0001"+
29218 "\u00b0\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0003\u00b1\u07dc\b\u00b1\u0001"+
29219 "\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0001"+
29220 "\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0003"+
29221 "\u00b2\u07ea\b\u00b2\u0001\u00b3\u0001\u00b3\u0001\u00b4\u0001\u00b4\u0001"+
29222 "\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001"+
29223 "\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001"+
29224 "\u00b5\u0001\u00b5\u0001\u00b5\u0003\u00b5\u07ff\b\u00b5\u0001\u00b6\u0001"+
29225 "\u00b6\u0001\u00b6\u0003\u00b6\u0804\b\u00b6\u0001\u00b7\u0001\u00b7\u0001"+
29226 "\u00b7\u0003\u00b7\u0809\b\u00b7\u0001\u00b7\u0001\u00b7\u0001\u00b7\u0005"+
29227 "\u00b7\u080e\b\u00b7\n\u00b7\f\u00b7\u0811\t\u00b7\u0001\u00b7\u0003\u00b7"+
29228 "\u0814\b\u00b7\u0001\u00b7\u0003\u00b7\u0817\b\u00b7\u0001\u00b7\u0001"+
29229 "\u00b7\u0003\u00b7\u081b\b\u00b7\u0001\u00b7\u0001\u00b7\u0001\u00b8\u0001"+
29230 "\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001"+
29231 "\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u082b"+
29232 "\b\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u082f\b\u00b8\u0001\u00b8"+
29233 "\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
29234 "\u0003\u00b8\u0838\b\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
29235 "\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
29236 "\u0003\u00b8\u0844\b\u00b8\u0001\u00b8\u0003\u00b8\u0847\b\u00b8\u0001"+
29237 "\u00b8\u0001\u00b8\u0003\u00b8\u084b\b\u00b8\u0001\u00b9\u0001\u00b9\u0001"+
29238 "\u00b9\u0003\u00b9\u0850\b\u00b9\u0001\u00ba\u0001\u00ba\u0001\u00ba\u0001"+
29239 "\u00ba\u0003\u00ba\u0856\b\u00ba\u0001\u00bb\u0001\u00bb\u0001\u00bb\u0001"+
29240 "\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
29241 "\u00bc\u0003\u00bc\u0862\b\u00bc\u0001\u00bd\u0001\u00bd\u0001\u00be\u0001"+
29242 "\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0003\u00be\u086c"+
29243 "\b\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001"+
29244 "\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001"+
29245 "\u00be\u0003\u00be\u087a\b\u00be\u0001\u00be\u0001\u00be\u0003\u00be\u087e"+
29246 "\b\u00be\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001"+
29247 "\u00bf\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001"+
29248 "\u00bf\u0001\u00bf\u0001\u00bf\u0003\u00bf\u088e\b\u00bf\u0001\u00c0\u0001"+
29249 "\u00c0\u0003\u00c0\u0892\b\u00c0\u0001\u00c0\u0001\u00c0\u0003\u00c0\u0896"+
29250 "\b\u00c0\u0001\u00c0\u0003\u00c0\u0899\b\u00c0\u0001\u00c0\u0001\u00c0"+
29251 "\u0003\u00c0\u089d\b\u00c0\u0001\u00c0\u0003\u00c0\u08a0\b\u00c0\u0001"+
29252 "\u00c0\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0003\u00c0\u08a7"+
29253 "\b\u00c0\u0001\u00c0\u0001\u00c0\u0003\u00c0\u08ab\b\u00c0\u0001\u00c0"+
29254 "\u0001\u00c0\u0001\u00c0\u0003\u00c0\u08b0\b\u00c0\u0001\u00c0\u0001\u00c0"+
29255 "\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0003\u00c0\u08b8\b\u00c0"+
29256 "\u0003\u00c0\u08ba\b\u00c0\u0001\u00c1\u0001\u00c1\u0001\u00c1\u0001\u00c1"+
29257 "\u0001\u00c1\u0001\u00c1\u0001\u00c1\u0001\u00c2\u0001\u00c2\u0001\u00c2"+
29258 "\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0003\u00c2\u08ca\b\u00c2"+
29259 "\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2"+
29260 "\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0003\u00c2\u08d5\b\u00c2\u0001\u00c2"+
29261 "\u0001\u00c2\u0003\u00c2\u08d9\b\u00c2\u0001\u00c3\u0001\u00c3\u0001\u00c3"+
29262 "\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c4\u0001\u00c4"+
29263 "\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0005\u00c4\u08e7\b\u00c4\n\u00c4"+
29264 "\f\u00c4\u08ea\t\u00c4\u0001\u00c4\u0001\u00c4\u0003\u00c4\u08ee\b\u00c4"+
29265 "\u0001\u00c4\u0001\u00c4\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5"+
29266 "\u0003\u00c5\u08f6\b\u00c5\u0001\u00c5\u0003\u00c5\u08f9\b\u00c5\u0001"+
29267 "\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001"+
29268 "\u00c5\u0001\u00c5\u0003\u00c5\u0903\b\u00c5\u0001\u00c5\u0001\u00c5\u0001"+
29269 "\u00c5\u0003\u00c5\u0908\b\u00c5\u0001\u00c6\u0001\u00c6\u0001\u00c6\u0001"+
29270 "\u00c6\u0001\u00c6\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001"+
29271 "\u00c7\u0003\u00c7\u0914\b\u00c7\u0001\u00c7\u0003\u00c7\u0917\b\u00c7"+
29272 "\u0001\u00c7\u0001\u00c7\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c8"+
29273 "\u0005\u00c8\u091f\b\u00c8\n\u00c8\f\u00c8\u0922\t\u00c8\u0001\u00c8\u0001"+
29274 "\u00c8\u0001\u00c8\u0003\u00c8\u0927\b\u00c8\u0001\u00c9\u0001\u00c9\u0003"+
29275 "\u00c9\u092b\b\u00c9\u0001\u00c9\u0003\u00c9\u092e\b\u00c9\u0001\u00ca"+
29276 "\u0001\u00ca\u0003\u00ca\u0932\b\u00ca\u0001\u00cb\u0001\u00cb\u0001\u00cb"+
29277 "\u0001\u00cb\u0003\u00cb\u0938\b\u00cb\u0001\u00cb\u0003\u00cb\u093b\b"+
29278 "\u00cb\u0001\u00cb\u0001\u00cb\u0001\u00cb\u0001\u00cb\u0003\u00cb\u0941"+
29279 "\b\u00cb\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0005"+
29280 "\u00cc\u0948\b\u00cc\n\u00cc\f\u00cc\u094b\t\u00cc\u0001\u00cc\u0003\u00cc"+
29281 "\u094e\b\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
29282 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
29283 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
29284 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
29285 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
29286 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0003\u00cd\u0971\b\u00cd"+
29287 "\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce"+
29288 "\u0003\u00ce\u0979\b\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce"+
29289 "\u0003\u00ce\u097f\b\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00cf\u0001\u00cf"+
29290 "\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf"+
29291 "\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf"+
29292 "\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0003\u00cf\u0994\b\u00cf\u0001\u00d0"+
29293 "\u0001\u00d0\u0003\u00d0\u0998\b\u00d0\u0001\u00d0\u0004\u00d0\u099b\b"+
29294 "\u00d0\u000b\u00d0\f\u00d0\u099c\u0001\u00d0\u0003\u00d0\u09a0\b\u00d0"+
29295 "\u0001\u00d0\u0001\u00d0\u0001\u00d1\u0001\u00d1\u0001\u00d2\u0001\u00d2"+
29296 "\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d4"+
29297 "\u0001\u00d4\u0001\u00d4\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d6"+
29298 "\u0001\u00d6\u0001\u00d6\u0001\u00d7\u0001\u00d7\u0001\u00d8\u0001\u00d8"+
29299 "\u0001\u00d8\u0001\u00d8\u0001\u00d8\u0005\u00d8\u09bd\b\u00d8\n\u00d8"+
29300 "\f\u00d8\u09c0\t\u00d8\u0001\u00d9\u0001\u00d9\u0003\u00d9\u09c4\b\u00d9"+
29301 "\u0001\u00d9\u0003\u00d9\u09c7\b\u00d9\u0001\u00da\u0001\u00da\u0003\u00da"+
29302 "\u09cb\b\u00da\u0001\u00da\u0003\u00da\u09ce\b\u00da\u0001\u00da\u0001"+
29303 "\u00da\u0001\u00da\u0003\u00da\u09d3\b\u00da\u0003\u00da\u09d5\b\u00da"+
29304 "\u0001\u00da\u0003\u00da\u09d8\b\u00da\u0001\u00da\u0003\u00da\u09db\b"+
29305 "\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u09e0\b\u00da\u0001"+
29306 "\u00da\u0003\u00da\u09e3\b\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u09e7"+
29307 "\b\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u09ec\b\u00da"+
29308 "\u0001\u00da\u0003\u00da\u09ef\b\u00da\u0001\u00da\u0001\u00da\u0003\u00da"+
29309 "\u09f3\b\u00da\u0001\u00da\u0003\u00da\u09f6\b\u00da\u0001\u00da\u0003"+
29310 "\u00da\u09f9\b\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u09fe"+
29311 "\b\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0a03\b\u00da"+
29312 "\u0001\u00da\u0001\u00da\u0003\u00da\u0a07\b\u00da\u0001\u00da\u0001\u00da"+
29313 "\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da"+
29314 "\u0003\u00da\u0a11\b\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0a15\b"+
29315 "\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0a19\b\u00da\u0001\u00da\u0001"+
29316 "\u00da\u0003\u00da\u0a1d\b\u00da\u0001\u00da\u0003\u00da\u0a20\b\u00da"+
29317 "\u0001\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0a25\b\u00da\u0001\u00da"+
29318 "\u0001\u00da\u0001\u00da\u0003\u00da\u0a2a\b\u00da\u0001\u00da\u0001\u00da"+
29319 "\u0003\u00da\u0a2e\b\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0003\u00da"+
29320 "\u0a33\b\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0003\u00da"+
29321 "\u0a39\b\u00da\u0001\u00da\u0003\u00da\u0a3c\b\u00da\u0001\u00da\u0001"+
29322 "\u00da\u0003\u00da\u0a40\b\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0a44"+
29323 "\b\u00da\u0001\u00da\u0003\u00da\u0a47\b\u00da\u0001\u00da\u0001\u00da"+
29324 "\u0003\u00da\u0a4b\b\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0a4f\b"+
29325 "\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0a54\b\u00da\u0001"+
29326 "\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0a59\b\u00da\u0001\u00da\u0003"+
29327 "\u00da\u0a5c\b\u00da\u0001\u00db\u0001\u00db\u0001\u00db\u0001\u00db\u0005"+
29328 "\u00db\u0a62\b\u00db\n\u00db\f\u00db\u0a65\t\u00db\u0001\u00db\u0001\u00db"+
29329 "\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0003\u00dc\u0a6c\b\u00dc\u0001\u00dd"+
29330 "\u0001\u00dd\u0003\u00dd\u0a70\b\u00dd\u0001\u00de\u0004\u00de\u0a73\b"+
29331 "\u00de\u000b\u00de\f\u00de\u0a74\u0001\u00df\u0001\u00df\u0001\u00df\u0001"+
29332 "\u00df\u0001\u00df\u0001\u00df\u0001\u00e0\u0001\u00e0\u0001\u00e0\u0001"+
29333 "\u00e0\u0001\u00e1\u0001\u00e1\u0001\u00e1\u0001\u00e1\u0001\u00e1\u0001"+
29334 "\u00e1\u0003\u00e1\u0a87\b\u00e1\u0001\u00e1\u0001\u00e1\u0001\u00e1\u0001"+
29335 "\u00e1\u0003\u00e1\u0a8d\b\u00e1\u0003\u00e1\u0a8f\b\u00e1\u0001\u00e2"+
29336 "\u0001\u00e2\u0003\u00e2\u0a93\b\u00e2\u0001\u00e2\u0001\u00e2\u0003\u00e2"+
29337 "\u0a97\b\u00e2\u0001\u00e3\u0001\u00e3\u0003\u00e3\u0a9b\b\u00e3\u0001"+
29338 "\u00e3\u0001\u00e3\u0003\u00e3\u0a9f\b\u00e3\u0001\u00e4\u0001\u00e4\u0001"+
29339 "\u00e4\u0003\u00e4\u0aa4\b\u00e4\u0001\u00e5\u0003\u00e5\u0aa7\b\u00e5"+
29340 "\u0001\u00e5\u0001\u00e5\u0003\u00e5\u0aab\b\u00e5\u0001\u00e5\u0001\u00e5"+
29341 "\u0001\u00e6\u0003\u00e6\u0ab0\b\u00e6\u0001\u00e6\u0001\u00e6\u0003\u00e6"+
29342 "\u0ab4\b\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e7\u0003\u00e7\u0ab9\b"+
29343 "\u00e7\u0001\u00e7\u0001\u00e7\u0003\u00e7\u0abd\b\u00e7\u0001\u00e7\u0001"+
29344 "\u00e7\u0001\u00e8\u0001\u00e8\u0001\u00e8\u0003\u00e8\u0ac4\b\u00e8\u0001"+
29345 "\u00e8\u0003\u00e8\u0ac7\b\u00e8\u0001\u00e9\u0001\u00e9\u0001\u00ea\u0001"+
29346 "\u00ea\u0001\u00eb\u0001\u00eb\u0001\u00ec\u0001\u00ec\u0001\u00ed\u0001"+
29347 "\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001"+
29348 "\u00ef\u0001\u00ef\u0001\u00ef\u0003\u00ef\u0adb\b\u00ef\u0001\u00f0\u0001"+
29349 "\u00f0\u0001\u00f0\u0001\u00f0\u0005\u00f0\u0ae1\b\u00f0\n\u00f0\f\u00f0"+
29350 "\u0ae4\t\u00f0\u0003\u00f0\u0ae6\b\u00f0\u0001\u00f0\u0001\u00f0\u0001"+
29351 "\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f2\u0001\u00f2\u0001"+
29352 "\u00f2\u0001\u00f3\u0001\u00f3\u0001\u00f4\u0001\u00f4\u0001\u00f5\u0001"+
29353 "\u00f5\u0001\u00f6\u0001\u00f6\u0001\u00f7\u0001\u00f7\u0001\u00f8\u0001"+
29354 "\u00f8\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0000"+
29355 "\u00052\u0134\u013c\u0144\u0146\u00fa\u0000\u0002\u0004\u0006\b\n\f\u000e"+
29356 "\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:<>@BDF"+
29357 "HJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c"+
29358 "\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4"+
29359 "\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc"+
29360 "\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2\u00d4"+
29361 "\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea\u00ec"+
29362 "\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102\u0104"+
29363 "\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c"+
29364 "\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134"+
29365 "\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a\u014c"+
29366 "\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164"+
29367 "\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a\u017c"+
29368 "\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192\u0194"+
29369 "\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa\u01ac"+
29370 "\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4"+
29371 "\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc"+
29372 "\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2\u0000"+
29373 "@\u0003\u0000\u00c7\u00c7\u012f\u012f\u0186\u0186\u0001\u0000\u030c\u030d"+
29374 "\u0002\u0000RR\u00d4\u00d5\u0003\u0000\u0111\u0111\u013a\u013a\u0303\u0303"+
29375 "\u0002\u0000\u013f\u013f\u0161\u0161\u0002\u0000\u00aa\u00aa\u0143\u0143"+
29376 "\u0002\u0000\u016e\u016e\u025c\u025c\u0002\u0000\u027e\u027e\u0300\u0300"+
29377 "\u0006\u0000/Ecc\u0168\u0168\u01a4\u01a4\u0214\u0214\u0308\u030a\u0001"+
29378 "\u0000\u034a\u034b\u0002\u0000BB\u034e\u034e\u0001\u0000\u000e\u000f\u0002"+
29379 "\u0000\u00b8\u00b8\u02df\u02e0\u0002\u0000\u0100\u0100\u02ec\u02ec\u0096"+
29380 "\u0000IKMQTTWX]adeklnprsyy{|~\u007f\u0087\u0089\u008b\u008d\u008f\u008f"+
29381 "\u0091\u0093\u0096\u009c\u009e\u009f\u00a1\u00a3\u00a5\u00a5\u00a8\u00a9"+
29382 "\u00ad\u00ad\u00b3\u00b4\u00b7\u00ba\u00bd\u00bd\u00c4\u00c6\u00c8\u00c8"+
29383 "\u00cd\u00cd\u00cf\u00d3\u00db\u00dd\u00e2\u00e2\u00e4\u00e4\u00e6\u00ee"+
29384 "\u00f1\u00f2\u00f4\u00f5\u00f9\u00fa\u00fc\u00ff\u0101\u0102\u0105\u0107"+
29385 "\u0109\u0109\u010e\u010e\u0113\u0114\u0116\u0116\u0119\u0119\u011b\u011b"+
29386 "\u011d\u011d\u011f\u0120\u0123\u0123\u0127\u0127\u012c\u012c\u0130\u0134"+
29387 "\u0138\u0138\u013b\u013b\u013e\u013e\u0140\u0140\u0142\u0142\u0147\u0147"+
29388 "\u0149\u0149\u0153\u0155\u0158\u0158\u015a\u015b\u015e\u015e\u0160\u0161"+
29389 "\u0163\u0163\u0167\u0167\u016d\u016d\u016f\u0170\u0175\u0176\u017c\u017f"+
29390 "\u0187\u0188\u018a\u019d\u019f\u01a2\u01a5\u01ab\u01af\u01b3\u01b5\u01b6"+
29391 "\u01b9\u01b9\u01bb\u01bb\u01bd\u01c6\u01ca\u01d0\u01d2\u01d2\u01d7\u01d8"+
29392 "\u01dd\u01de\u01e0\u01e0\u01e2\u01e5\u01e7\u01e9\u01ed\u01ed\u01ef\u01ef"+
29393 "\u01f2\u01f4\u01f9\u01fd\u01ff\u0203\u0207\u020d\u020f\u020f\u0212\u0213"+
29394 "\u0215\u0216\u0219\u021b\u021e\u0221\u0226\u0226\u0229\u022a\u022c\u022e"+
29395 "\u0231\u0235\u0238\u0238\u023a\u023a\u023d\u023d\u0241\u0247\u024a\u024a"+
29396 "\u024f\u024f\u0251\u0251\u0253\u0254\u0256\u025a\u025e\u025e\u0260\u0262"+
29397 "\u0265\u0266\u0268\u0268\u026a\u026a\u026d\u0273\u0275\u0275\u0279\u027b"+
29398 "\u027e\u027e\u0285\u0285\u0288\u0288\u028a\u028e\u0295\u0297\u0299\u0299"+
29399 "\u029b\u029b\u029d\u029e\u02a0\u02a0\u02a3\u02a7\u02a9\u02a9\u02ac\u02b1"+
29400 "\u02b3\u02b6\u02d2\u02d8\u02da\u02db\u02dd\u02e2\u02e6\u02e6\u02e9\u02e9"+
29401 "\u02eb\u02eb\u02ee\u02f2\u02f4\u02f5\u02fa\u02fa\u02ff\u02ff\u0301\u0301"+
29402 "\u0304\u0306\u030b\u030c\u0311\u0311\u0313\u0314\u0316\u031a\u0320\u0322"+
29403 "\u0324\u0324\u0326\u0327\u0329\u032a\u0003\u0000\u00f6\u00f6\u0250\u0250"+
29404 "\u0280\u0280 \u0000[[gguv\u0084\u0084\u0086\u0086\u008a\u008a\u0094\u0095"+
29405 "\u00a4\u00a4\u00bf\u00bf\u00d7\u00d7\u00e5\u00e5\u010d\u010d\u010f\u010f"+
29406 "\u012b\u012b\u012e\u012e\u013c\u013c\u0148\u0148\u0166\u0166\u01d1\u01d1"+
29407 "\u020e\u020e\u0211\u0211\u023b\u023b\u024c\u024c\u025f\u025f\u0269\u0269"+
29408 "\u0282\u0282\u0287\u0287\u02a1\u02a1\u02a8\u02a8\u02ed\u02ed\u02f6\u02f7"+
29409 "\u0325\u0325\t\u0000\u00f0\u00f0\u0104\u0104\u01d3\u01d3\u0218\u0218\u021c"+
29410 "\u021c\u0237\u0237\u0248\u0248\u024e\u024e\u02b2\u02b2\u0004\u0000\u0121"+
29411 "\u0121\u0178\u0178\u0205\u0206\u027c\u027c\u0003\u0000\u0121\u0121\u0178"+
29412 "\u0178\u027c\u027c\u0002\u0000\u01e8\u01e8\u0323\u0323\u0002\u0000\u0012"+
29413 "\u0012%\'\u0002\u0000NNff\u0001\u0000\u02d2\u02d3\u0003\u0000\u00c9\u00c9"+
29414 "\u0146\u0146\u0300\u0300\u0002\u0000\u010f\u010f\u020e\u020e\u0002\u0000"+
29415 "\u0003\u0003VV\u0002\u0000\u0004\u0004\u01f0\u01f0\u0002\u0000\u0005\u0005"+
29416 "\u01d6\u01d6\u0004\u0000\u0100\u0100\u01dc\u01dc\u02ec\u02ec\u02fa\u02fa"+
29417 "\u0002\u0000RRWW\u0002\u0000\u0017\u0017++\u0001\u0000\u0017\u001c\u0002"+
29418 "\u0000\u0230\u0230\u025d\u025d\u0001\u0000,-\u0002\u0000\u00e1\u00e1\u00ec"+
29419 "\u00ec\u0003\u0000/2aacc\u0002\u0000\u0222\u0222\u0264\u0264\u0005\u0000"+
29420 "\u00ac\u00ac\u00ca\u00ca\u0204\u0204\u0223\u0223\u0267\u0267\u0002\u0000"+
29421 "\u0165\u0165\u016a\u016a\u0002\u0000\u0108\u0108\u0168\u0168\u0002\u0000"+
29422 "\u0107\u0107\u0167\u0167\u0002\u0000((\u034f\u034f\u0002\u0000\u013a\u013a"+
29423 "\u024f\u024f\u0003\u0000\u00fd\u00fd\u0220\u0220\u0306\u0306\u0001\u0000"+
29424 "\u0282\u0284\u0001\u0000\u02fc\u02fe\u0001\u000067\u0003\u0000qq\u016b"+
29425 "\u016b\u02e8\u02e8\n\u0000\u00ba\u00be\u0134\u0137\u01b3\u01b3\u01b6\u01b8"+
29426 "\u01be\u01be\u021e\u021e\u026e\u026e\u0274\u0274\u0319\u0319\u0329\u032a"+
29427 "\u0007\u0000ii\u014a\u014a\u0150\u0150\u01ad\u01ad\u01b4\u01b4\u0289\u0289"+
29428 "\u02e4\u02e4\u0003\u0000\u00c1\u00c1\u0109\u010a\u01df\u01df\u0001\u0000"+
29429 "op\u0002\u0000\u0181\u0181\u01ac\u01ac\u0001\u0000\u0183\u0184\u0006\u0000"+
29430 "\u011b\u011d\u015e\u015e\u0175\u0175\u01bf\u01c1\u020b\u020c\u0279\u0279"+
29431 "\u0003\u0000\u0282\u0282\u02fc\u02fc\u032b\u032b\u0002\u0000\u0080\u0080"+
29432 "\u0082\u0082\u0002\u0000\u00b0\u00b0\u0179\u017a\u0003\u0000\u00c3\u00c3"+
29433 "\u00dd\u00dd\u0109\u0109\u0003\u0000\u00c3\u00c3\u00d3\u00d3\u01b0\u01b0"+
29434 "\u0002\u0000ZZ\u00cb\u00cb\u0002\u0000RR\u00d4\u00d4\u0002\u0000\u0178"+
29435 "\u0178\u01d9\u01d9\u0c3e\u0000\u0202\u0001\u0000\u0000\u0000\u0002\u0204"+
29436 "\u0001\u0000\u0000\u0000\u0004\u0216\u0001\u0000\u0000\u0000\u0006\u0220"+
29437 "\u0001\u0000\u0000\u0000\b\u0231\u0001\u0000\u0000\u0000\n\u023b\u0001"+
29438 "\u0000\u0000\u0000\f\u023d\u0001\u0000\u0000\u0000\u000e\u0247\u0001\u0000"+
29439 "\u0000\u0000\u0010\u0254\u0001\u0000\u0000\u0000\u0012\u0262\u0001\u0000"+
29440 "\u0000\u0000\u0014\u0267\u0001\u0000\u0000\u0000\u0016\u0273\u0001\u0000"+
29441 "\u0000\u0000\u0018\u0283\u0001\u0000\u0000\u0000\u001a\u0288\u0001\u0000"+
29442 "\u0000\u0000\u001c\u028d\u0001\u0000\u0000\u0000\u001e\u02a5\u0001\u0000"+
29443 "\u0000\u0000 \u02aa\u0001\u0000\u0000\u0000\"\u02ac\u0001\u0000\u0000"+
29444 "\u0000$\u02af\u0001\u0000\u0000\u0000&\u02bf\u0001\u0000\u0000\u0000("+
29445 "\u02c7\u0001\u0000\u0000\u0000*\u02db\u0001\u0000\u0000\u0000,\u02e3\u0001"+
29446 "\u0000\u0000\u0000.\u02f2\u0001\u0000\u0000\u00000\u02f5\u0001\u0000\u0000"+
29447 "\u00002\u0306\u0001\u0000\u0000\u00004\u031f\u0001\u0000\u0000\u00006"+
29448 "\u0321\u0001\u0000\u0000\u00008\u032e\u0001\u0000\u0000\u0000:\u0330\u0001"+
29449 "\u0000\u0000\u0000<\u034a\u0001\u0000\u0000\u0000>\u034d\u0001\u0000\u0000"+
29450 "\u0000@\u0350\u0001\u0000\u0000\u0000B\u035a\u0001\u0000\u0000\u0000D"+
29451 "\u0366\u0001\u0000\u0000\u0000F\u0378\u0001\u0000\u0000\u0000H\u037a\u0001"+
29452 "\u0000\u0000\u0000J\u037e\u0001\u0000\u0000\u0000L\u038f\u0001\u0000\u0000"+
29453 "\u0000N\u0391\u0001\u0000\u0000\u0000P\u0396\u0001\u0000\u0000\u0000R"+
29454 "\u039b\u0001\u0000\u0000\u0000T\u03a0\u0001\u0000\u0000\u0000V\u03a8\u0001"+
29455 "\u0000\u0000\u0000X\u03b5\u0001\u0000\u0000\u0000Z\u03d9\u0001\u0000\u0000"+
29456 "\u0000\\\u03db\u0001\u0000\u0000\u0000^\u03e7\u0001\u0000\u0000\u0000"+
29457 "`\u03ef\u0001\u0000\u0000\u0000b\u0412\u0001\u0000\u0000\u0000d\u0419"+
29458 "\u0001\u0000\u0000\u0000f\u041b\u0001\u0000\u0000\u0000h\u042c\u0001\u0000"+
29459 "\u0000\u0000j\u0435\u0001\u0000\u0000\u0000l\u0437\u0001\u0000\u0000\u0000"+
29460 "n\u043a\u0001\u0000\u0000\u0000p\u0448\u0001\u0000\u0000\u0000r\u044b"+
29461 "\u0001\u0000\u0000\u0000t\u045a\u0001\u0000\u0000\u0000v\u045e\u0001\u0000"+
29462 "\u0000\u0000x\u0460\u0001\u0000\u0000\u0000z\u0469\u0001\u0000\u0000\u0000"+
29463 "|\u046d\u0001\u0000\u0000\u0000~\u0475\u0001\u0000\u0000\u0000\u0080\u0483"+
29464 "\u0001\u0000\u0000\u0000\u0082\u04a9\u0001\u0000\u0000\u0000\u0084\u04b7"+
29465 "\u0001\u0000\u0000\u0000\u0086\u04ba\u0001\u0000\u0000\u0000\u0088\u04be"+
29466 "\u0001\u0000\u0000\u0000\u008a\u04c3\u0001\u0000\u0000\u0000\u008c\u04c5"+
29467 "\u0001\u0000\u0000\u0000\u008e\u04c8\u0001\u0000\u0000\u0000\u0090\u04cc"+
29468 "\u0001\u0000\u0000\u0000\u0092\u04d4\u0001\u0000\u0000\u0000\u0094\u04d6"+
29469 "\u0001\u0000\u0000\u0000\u0096\u04df\u0001\u0000\u0000\u0000\u0098\u04e1"+
29470 "\u0001\u0000\u0000\u0000\u009a\u04e8\u0001\u0000\u0000\u0000\u009c\u04eb"+
29471 "\u0001\u0000\u0000\u0000\u009e\u04ef\u0001\u0000\u0000\u0000\u00a0\u04f3"+
29472 "\u0001\u0000\u0000\u0000\u00a2\u04fa\u0001\u0000\u0000\u0000\u00a4\u0500"+
29473 "\u0001\u0000\u0000\u0000\u00a6\u0502\u0001\u0000\u0000\u0000\u00a8\u0506"+
29474 "\u0001\u0000\u0000\u0000\u00aa\u0512\u0001\u0000\u0000\u0000\u00ac\u0514"+
29475 "\u0001\u0000\u0000\u0000\u00ae\u0516\u0001\u0000\u0000\u0000\u00b0\u0518"+
29476 "\u0001\u0000\u0000\u0000\u00b2\u051a\u0001\u0000\u0000\u0000\u00b4\u051c"+
29477 "\u0001\u0000\u0000\u0000\u00b6\u0521\u0001\u0000\u0000\u0000\u00b8\u0523"+
29478 "\u0001\u0000\u0000\u0000\u00ba\u0527\u0001\u0000\u0000\u0000\u00bc\u052c"+
29479 "\u0001\u0000\u0000\u0000\u00be\u052e\u0001\u0000\u0000\u0000\u00c0\u053b"+
29480 "\u0001\u0000\u0000\u0000\u00c2\u053d\u0001\u0000\u0000\u0000\u00c4\u0546"+
29481 "\u0001\u0000\u0000\u0000\u00c6\u0550\u0001\u0000\u0000\u0000\u00c8\u0559"+
29482 "\u0001\u0000\u0000\u0000\u00ca\u0565\u0001\u0000\u0000\u0000\u00cc\u0567"+
29483 "\u0001\u0000\u0000\u0000\u00ce\u0572\u0001\u0000\u0000\u0000\u00d0\u0574"+
29484 "\u0001\u0000\u0000\u0000\u00d2\u0577\u0001\u0000\u0000\u0000\u00d4\u0579"+
29485 "\u0001\u0000\u0000\u0000\u00d6\u0584\u0001\u0000\u0000\u0000\u00d8\u0586"+
29486 "\u0001\u0000\u0000\u0000\u00da\u058e\u0001\u0000\u0000\u0000\u00dc\u0597"+
29487 "\u0001\u0000\u0000\u0000\u00de\u059b\u0001\u0000\u0000\u0000\u00e0\u059d"+
29488 "\u0001\u0000\u0000\u0000\u00e2\u059f\u0001\u0000\u0000\u0000\u00e4\u05a1"+
29489 "\u0001\u0000\u0000\u0000\u00e6\u05a3\u0001\u0000\u0000\u0000\u00e8\u05ad"+
29490 "\u0001\u0000\u0000\u0000\u00ea\u05af\u0001\u0000\u0000\u0000\u00ec\u05ba"+
29491 "\u0001\u0000\u0000\u0000\u00ee\u05bf\u0001\u0000\u0000\u0000\u00f0\u05c3"+
29492 "\u0001\u0000\u0000\u0000\u00f2\u05c5\u0001\u0000\u0000\u0000\u00f4\u05ca"+
29493 "\u0001\u0000\u0000\u0000\u00f6\u05d1\u0001\u0000\u0000\u0000\u00f8\u05d8"+
29494 "\u0001\u0000\u0000\u0000\u00fa\u05dc\u0001\u0000\u0000\u0000\u00fc\u05de"+
29495 "\u0001\u0000\u0000\u0000\u00fe\u05e0\u0001\u0000\u0000\u0000\u0100\u05e2"+
29496 "\u0001\u0000\u0000\u0000\u0102\u05ea\u0001\u0000\u0000\u0000\u0104\u05f2"+
29497 "\u0001\u0000\u0000\u0000\u0106\u05fa\u0001\u0000\u0000\u0000\u0108\u05fc"+
29498 "\u0001\u0000\u0000\u0000\u010a\u05fe\u0001\u0000\u0000\u0000\u010c\u0600"+
29499 "\u0001\u0000\u0000\u0000\u010e\u0602\u0001\u0000\u0000\u0000\u0110\u0604"+
29500 "\u0001\u0000\u0000\u0000\u0112\u0606\u0001\u0000\u0000\u0000\u0114\u0608"+
29501 "\u0001\u0000\u0000\u0000\u0116\u060e\u0001\u0000\u0000\u0000\u0118\u0610"+
29502 "\u0001\u0000\u0000\u0000\u011a\u0615\u0001\u0000\u0000\u0000\u011c\u0617"+
29503 "\u0001\u0000\u0000\u0000\u011e\u061e\u0001\u0000\u0000\u0000\u0120\u0620"+
29504 "\u0001\u0000\u0000\u0000\u0122\u0622\u0001\u0000\u0000\u0000\u0124\u0627"+
29505 "\u0001\u0000\u0000\u0000\u0126\u0629\u0001\u0000\u0000\u0000\u0128\u062d"+
29506 "\u0001\u0000\u0000\u0000\u012a\u062f\u0001\u0000\u0000\u0000\u012c\u0631"+
29507 "\u0001\u0000\u0000\u0000\u012e\u063b\u0001\u0000\u0000\u0000\u0130\u063d"+
29508 "\u0001\u0000\u0000\u0000\u0132\u063f\u0001\u0000\u0000\u0000\u0134\u0647"+
29509 "\u0001\u0000\u0000\u0000\u0136\u0659\u0001\u0000\u0000\u0000\u0138\u065b"+
29510 "\u0001\u0000\u0000\u0000\u013a\u065d\u0001\u0000\u0000\u0000\u013c\u065f"+
29511 "\u0001\u0000\u0000\u0000\u013e\u0684\u0001\u0000\u0000\u0000\u0140\u0686"+
29512 "\u0001\u0000\u0000\u0000\u0142\u06bf\u0001\u0000\u0000\u0000\u0144\u06c1"+
29513 "\u0001\u0000\u0000\u0000\u0146\u0727\u0001\u0000\u0000\u0000\u0148\u0733"+
29514 "\u0001\u0000\u0000\u0000\u014a\u0739\u0001\u0000\u0000\u0000\u014c\u073e"+
29515 "\u0001\u0000\u0000\u0000\u014e\u0747\u0001\u0000\u0000\u0000\u0150\u0754"+
29516 "\u0001\u0000\u0000\u0000\u0152\u0756\u0001\u0000\u0000\u0000\u0154\u0767"+
29517 "\u0001\u0000\u0000\u0000\u0156\u0793\u0001\u0000\u0000\u0000\u0158\u07b5"+
29518 "\u0001\u0000\u0000\u0000\u015a\u07b7\u0001\u0000\u0000\u0000\u015c\u07b9"+
29519 "\u0001\u0000\u0000\u0000\u015e\u07bb\u0001\u0000\u0000\u0000\u0160\u07c0"+
29520 "\u0001\u0000\u0000\u0000\u0162\u07d8\u0001\u0000\u0000\u0000\u0164\u07e9"+
29521 "\u0001\u0000\u0000\u0000\u0166\u07eb\u0001\u0000\u0000\u0000\u0168\u07ed"+
29522 "\u0001\u0000\u0000\u0000\u016a\u07fe\u0001\u0000\u0000\u0000\u016c\u0800"+
29523 "\u0001\u0000\u0000\u0000\u016e\u0805\u0001\u0000\u0000\u0000\u0170\u084a"+
29524 "\u0001\u0000\u0000\u0000\u0172\u084c\u0001\u0000\u0000\u0000\u0174\u0851"+
29525 "\u0001\u0000\u0000\u0000\u0176\u0857\u0001\u0000\u0000\u0000\u0178\u0861"+
29526 "\u0001\u0000\u0000\u0000\u017a\u0863\u0001\u0000\u0000\u0000\u017c\u087d"+
29527 "\u0001\u0000\u0000\u0000\u017e\u088d\u0001\u0000\u0000\u0000\u0180\u08b9"+
29528 "\u0001\u0000\u0000\u0000\u0182\u08bb\u0001\u0000\u0000\u0000\u0184\u08d8"+
29529 "\u0001\u0000\u0000\u0000\u0186\u08da\u0001\u0000\u0000\u0000\u0188\u08e1"+
29530 "\u0001\u0000\u0000\u0000\u018a\u0907\u0001\u0000\u0000\u0000\u018c\u0909"+
29531 "\u0001\u0000\u0000\u0000\u018e\u090e\u0001\u0000\u0000\u0000\u0190\u091a"+
29532 "\u0001\u0000\u0000\u0000\u0192\u0928\u0001\u0000\u0000\u0000\u0194\u0931"+
29533 "\u0001\u0000\u0000\u0000\u0196\u0940\u0001\u0000\u0000\u0000\u0198\u0942"+
29534 "\u0001\u0000\u0000\u0000\u019a\u0970\u0001\u0000\u0000\u0000\u019c\u0972"+
29535 "\u0001\u0000\u0000\u0000\u019e\u0993\u0001\u0000\u0000\u0000\u01a0\u0995"+
29536 "\u0001\u0000\u0000\u0000\u01a2\u09a3\u0001\u0000\u0000\u0000\u01a4\u09a5"+
29537 "\u0001\u0000\u0000\u0000\u01a6\u09a7\u0001\u0000\u0000\u0000\u01a8\u09ac"+
29538 "\u0001\u0000\u0000\u0000\u01aa\u09af\u0001\u0000\u0000\u0000\u01ac\u09b2"+
29539 "\u0001\u0000\u0000\u0000\u01ae\u09b5\u0001\u0000\u0000\u0000\u01b0\u09b7"+
29540 "\u0001\u0000\u0000\u0000\u01b2\u09c3\u0001\u0000\u0000\u0000\u01b4\u0a5b"+
29541 "\u0001\u0000\u0000\u0000\u01b6\u0a5d\u0001\u0000\u0000\u0000\u01b8\u0a6b"+
29542 "\u0001\u0000\u0000\u0000\u01ba\u0a6f\u0001\u0000\u0000\u0000\u01bc\u0a72"+
29543 "\u0001\u0000\u0000\u0000\u01be\u0a76\u0001\u0000\u0000\u0000\u01c0\u0a7c"+
29544 "\u0001\u0000\u0000\u0000\u01c2\u0a8e\u0001\u0000\u0000\u0000\u01c4\u0a96"+
29545 "\u0001\u0000\u0000\u0000\u01c6\u0a9e\u0001\u0000\u0000\u0000\u01c8\u0aa3"+
29546 "\u0001\u0000\u0000\u0000\u01ca\u0aa6\u0001\u0000\u0000\u0000\u01cc\u0aaf"+
29547 "\u0001\u0000\u0000\u0000\u01ce\u0ab8\u0001\u0000\u0000\u0000\u01d0\u0ac0"+
29548 "\u0001\u0000\u0000\u0000\u01d2\u0ac8\u0001\u0000\u0000\u0000\u01d4\u0aca"+
29549 "\u0001\u0000\u0000\u0000\u01d6\u0acc\u0001\u0000\u0000\u0000\u01d8\u0ace"+
29550 "\u0001\u0000\u0000\u0000\u01da\u0ad0\u0001\u0000\u0000\u0000\u01dc\u0ad4"+
29551 "\u0001\u0000\u0000\u0000\u01de\u0ad7\u0001\u0000\u0000\u0000\u01e0\u0adc"+
29552 "\u0001\u0000\u0000\u0000\u01e2\u0ae9\u0001\u0000\u0000\u0000\u01e4\u0aed"+
29553 "\u0001\u0000\u0000\u0000\u01e6\u0af0\u0001\u0000\u0000\u0000\u01e8\u0af2"+
29554 "\u0001\u0000\u0000\u0000\u01ea\u0af4\u0001\u0000\u0000\u0000\u01ec\u0af6"+
29555 "\u0001\u0000\u0000\u0000\u01ee\u0af8\u0001\u0000\u0000\u0000\u01f0\u0afa"+
29556 "\u0001\u0000\u0000\u0000\u01f2\u0afc\u0001\u0000\u0000\u0000\u01f4\u01f9"+
29557 "\u0003,\u0016\u0000\u01f5\u01f9\u0003\u0002\u0001\u0000\u01f6\u01f9\u0003"+
29558 "\u0016\u000b\u0000\u01f7\u01f9\u0003$\u0012\u0000\u01f8\u01f4\u0001\u0000"+
29559 "\u0000\u0000\u01f8\u01f5\u0001\u0000\u0000\u0000\u01f8\u01f6\u0001\u0000"+
29560 "\u0000\u0000\u01f8\u01f7\u0001\u0000\u0000\u0000\u01f9\u01ff\u0001\u0000"+
29561 "\u0000\u0000\u01fa\u01fc\u0005*\u0000\u0000\u01fb\u01fd\u0005\u0000\u0000"+
29562 "\u0001\u01fc\u01fb\u0001\u0000\u0000\u0000\u01fc\u01fd\u0001\u0000\u0000"+
29563 "\u0000\u01fd\u0200\u0001\u0000\u0000\u0000\u01fe\u0200\u0005\u0000\u0000"+
29564 "\u0001\u01ff\u01fa\u0001\u0000\u0000\u0000\u01ff\u01fe\u0001\u0000\u0000"+
29565 "\u0000\u0200\u0203\u0001\u0000\u0000\u0000\u0201\u0203\u0005\u0000\u0000"+
29566 "\u0001\u0202\u01f8\u0001\u0000\u0000\u0000\u0202\u0201\u0001\u0000\u0000"+
29567 "\u0000\u0203\u0001\u0001\u0000\u0000\u0000\u0204\u0205\u0005\u0146\u0000"+
29568 "\u0000\u0205\u0207\u0003\u0004\u0002\u0000\u0206\u0208\u0005\u0152\u0000"+
29569 "\u0000\u0207\u0206\u0001\u0000\u0000\u0000\u0207\u0208\u0001\u0000\u0000"+
29570 "\u0000\u0208\u0209\u0001\u0000\u0000\u0000\u0209\u020b\u0003\u00dcn\u0000"+
29571 "\u020a\u020c\u0003\\.\u0000\u020b\u020a\u0001\u0000\u0000\u0000\u020b"+
29572 "\u020c\u0001\u0000\u0000\u0000\u020c\u0210\u0001\u0000\u0000\u0000\u020d"+
29573 "\u0211\u0003\u0006\u0003\u0000\u020e\u0211\u0003\u001c\u000e\u0000\u020f"+
29574 "\u0211\u0003\u000e\u0007\u0000\u0210\u020d\u0001\u0000\u0000\u0000\u0210"+
29575 "\u020e\u0001\u0000\u0000\u0000\u0210\u020f\u0001\u0000\u0000\u0000\u0211"+
29576 "\u0213\u0001\u0000\u0000\u0000\u0212\u0214\u0003\u0010\b\u0000\u0213\u0212"+
29577 "\u0001\u0000\u0000\u0000\u0213\u0214\u0001\u0000\u0000\u0000\u0214\u0003"+
29578 "\u0001\u0000\u0000\u0000\u0215\u0217\u0007\u0000\u0000\u0000\u0216\u0215"+
29579 "\u0001\u0000\u0000\u0000\u0216\u0217\u0001\u0000\u0000\u0000\u0217\u0219"+
29580 "\u0001\u0000\u0000\u0000\u0218\u021a\u0005\u013a\u0000\u0000\u0219\u0218"+
29581 "\u0001\u0000\u0000\u0000\u0219\u021a\u0001\u0000\u0000\u0000\u021a\u0005"+
29582 "\u0001\u0000\u0000\u0000\u021b\u021d\u0005\u001e\u0000\u0000\u021c\u021e"+
29583 "\u0003\b\u0004\u0000\u021d\u021c\u0001\u0000\u0000\u0000\u021d\u021e\u0001"+
29584 "\u0000\u0000\u0000\u021e\u021f\u0001\u0000\u0000\u0000\u021f\u0221\u0005"+
29585 "\u001f\u0000\u0000\u0220\u021b\u0001\u0000\u0000\u0000\u0220\u0221\u0001"+
29586 "\u0000\u0000\u0000\u0221\u0222\u0001\u0000\u0000\u0000\u0222\u022c\u0007"+
29587 "\u0001\u0000\u0000\u0223\u0228\u0003\u001e\u000f\u0000\u0224\u0225\u0005"+
29588 "$\u0000\u0000\u0225\u0227\u0003\u001e\u000f\u0000\u0226\u0224\u0001\u0000"+
29589 "\u0000\u0000\u0227\u022a\u0001\u0000\u0000\u0000\u0228\u0226\u0001\u0000"+
29590 "\u0000\u0000\u0228\u0229\u0001\u0000\u0000\u0000\u0229\u022d\u0001\u0000"+
29591 "\u0000\u0000\u022a\u0228\u0001\u0000\u0000\u0000\u022b\u022d\u0003@ \u0000"+
29592 "\u022c\u0223\u0001\u0000\u0000\u0000\u022c\u022b\u0001\u0000\u0000\u0000"+
29593 "\u022d\u022f\u0001\u0000\u0000\u0000\u022e\u0230\u0003\u0012\t\u0000\u022f"+
29594 "\u022e\u0001\u0000\u0000\u0000\u022f\u0230\u0001\u0000\u0000\u0000\u0230"+
29595 "\u0007\u0001\u0000\u0000\u0000\u0231\u0236\u0003\n\u0005\u0000\u0232\u0233"+
29596 "\u0005$\u0000\u0000\u0233\u0235\u0003\n\u0005\u0000\u0234\u0232\u0001"+
29597 "\u0000\u0000\u0000\u0235\u0238\u0001\u0000\u0000\u0000\u0236\u0234\u0001"+
29598 "\u0000\u0000\u0000\u0236\u0237\u0001\u0000\u0000\u0000\u0237\t\u0001\u0000"+
29599 "\u0000\u0000\u0238\u0236\u0001\u0000\u0000\u0000\u0239\u023c\u0003\u014c"+
29600 "\u00a6\u0000\u023a\u023c\u0003\f\u0006\u0000\u023b\u0239\u0001\u0000\u0000"+
29601 "\u0000\u023b\u023a\u0001\u0000\u0000\u0000\u023c\u000b\u0001\u0000\u0000"+
29602 "\u0000\u023d\u023e\u0003\u00aaU\u0000\u023e\u0242\u0005\u0013\u0000\u0000"+
29603 "\u023f\u0240\u0003\u00aaU\u0000\u0240\u0241\u0005\u0013\u0000\u0000\u0241"+
29604 "\u0243\u0001\u0000\u0000\u0000\u0242\u023f\u0001\u0000\u0000\u0000\u0242"+
29605 "\u0243\u0001\u0000\u0000\u0000\u0243\u0244\u0001\u0000\u0000\u0000\u0244"+
29606 "\u0245\u0005\u0010\u0000\u0000\u0245\r\u0001\u0000\u0000\u0000\u0246\u0248"+
29607 "\u0003\u0012\t\u0000\u0247\u0246\u0001\u0000\u0000\u0000\u0247\u0248\u0001"+
29608 "\u0000\u0000\u0000\u0248\u024e\u0001\u0000\u0000\u0000\u0249\u024b\u0005"+
29609 "\u001e\u0000\u0000\u024a\u024c\u0003\b\u0004\u0000\u024b\u024a\u0001\u0000"+
29610 "\u0000\u0000\u024b\u024c\u0001\u0000\u0000\u0000\u024c\u024d\u0001\u0000"+
29611 "\u0000\u0000\u024d\u024f\u0005\u001f\u0000\u0000\u024e\u0249\u0001\u0000"+
29612 "\u0000\u0000\u024e\u024f\u0001\u0000\u0000\u0000\u024f\u0250\u0001\u0000"+
29613 "\u0000\u0000\u0250\u0251\u0003,\u0016\u0000\u0251\u000f\u0001\u0000\u0000"+
29614 "\u0000\u0252\u0253\u0005Y\u0000\u0000\u0253\u0255\u0003\u00aaU\u0000\u0254"+
29615 "\u0252\u0001\u0000\u0000\u0000\u0254\u0255\u0001\u0000\u0000\u0000\u0255"+
29616 "\u0256\u0001\u0000\u0000\u0000\u0256\u0257\u0005\u01e6\u0000\u0000\u0257"+
29617 "\u0258\u0005\u00dc\u0000\u0000\u0258\u0259\u0005\u0161\u0000\u0000\u0259"+
29618 "\u025a\u0005\u0300\u0000\u0000\u025a\u025f\u0003\u001a\r\u0000\u025b\u025c"+
29619 "\u0005$\u0000\u0000\u025c\u025e\u0003\u001a\r\u0000\u025d\u025b\u0001"+
29620 "\u0000\u0000\u0000\u025e\u0261\u0001\u0000\u0000\u0000\u025f\u025d\u0001"+
29621 "\u0000\u0000\u0000\u025f\u0260\u0001\u0000\u0000\u0000\u0260\u0011\u0001"+
29622 "\u0000\u0000\u0000\u0261\u025f\u0001\u0000\u0000\u0000\u0262\u0263\u0005"+
29623 "Y\u0000\u0000\u0263\u0265\u0003\u00fc~\u0000\u0264\u0266\u0003\u0014\n"+
29624 "\u0000\u0265\u0264\u0001\u0000\u0000\u0000\u0265\u0266\u0001\u0000\u0000"+
29625 "\u0000\u0266\u0013\u0001\u0000\u0000\u0000\u0267\u0268\u0005\u001e\u0000"+
29626 "\u0000\u0268\u026d\u0003\u00fc~\u0000\u0269\u026a\u0005$\u0000\u0000\u026a"+
29627 "\u026c\u0003\u00fc~\u0000\u026b\u0269\u0001\u0000\u0000\u0000\u026c\u026f"+
29628 "\u0001\u0000\u0000\u0000\u026d\u026b\u0001\u0000\u0000\u0000\u026d\u026e"+
29629 "\u0001\u0000\u0000\u0000\u026e\u0270\u0001\u0000\u0000\u0000\u026f\u026d"+
29630 "\u0001\u0000\u0000\u0000\u0270\u0271\u0005\u001f\u0000\u0000\u0271\u0015"+
29631 "\u0001\u0000\u0000\u0000\u0272\u0274\u0003B!\u0000\u0273\u0272\u0001\u0000"+
29632 "\u0000\u0000\u0273\u0274\u0001\u0000\u0000\u0000\u0274\u0275\u0001\u0000"+
29633 "\u0000\u0000\u0275\u0276\u0005\u0300\u0000\u0000\u0276\u0277\u0003\u0018"+
29634 "\f\u0000\u0277\u0278\u0003T*\u0000\u0278\u027a\u0003\u001c\u000e\u0000"+
29635 "\u0279\u027b\u0003l6\u0000\u027a\u0279\u0001\u0000\u0000\u0000\u027a\u027b"+
29636 "\u0001\u0000\u0000\u0000\u027b\u027d\u0001\u0000\u0000\u0000\u027c\u027e"+
29637 "\u0003\u01b0\u00d8\u0000\u027d\u027c\u0001\u0000\u0000\u0000\u027d\u027e"+
29638 "\u0001\u0000\u0000\u0000\u027e\u0280\u0001\u0000\u0000\u0000\u027f\u0281"+
29639 "\u0003r9\u0000\u0280\u027f\u0001\u0000\u0000\u0000\u0280\u0281\u0001\u0000"+
29640 "\u0000\u0000\u0281\u0017\u0001\u0000\u0000\u0000\u0282\u0284\u0005\u0186"+
29641 "\u0000\u0000\u0283\u0282\u0001\u0000\u0000\u0000\u0283\u0284\u0001\u0000"+
29642 "\u0000\u0000\u0284\u0286\u0001\u0000\u0000\u0000\u0285\u0287\u0005\u013a"+
29643 "\u0000\u0000\u0286\u0285\u0001\u0000\u0000\u0000\u0286\u0287\u0001\u0000"+
29644 "\u0000\u0000\u0287\u0019\u0001\u0000\u0000\u0000\u0288\u0289\u0003\u014c"+
29645 "\u00a6\u0000\u0289\u028a\u0005\u0017\u0000\u0000\u028a\u028b\u0003 \u0010"+
29646 "\u0000\u028b\u001b\u0001\u0000\u0000\u0000\u028c\u028e\u0003\u0012\t\u0000"+
29647 "\u028d\u028c\u0001\u0000\u0000\u0000\u028d\u028e\u0001\u0000\u0000\u0000"+
29648 "\u028e\u028f\u0001\u0000\u0000\u0000\u028f\u0290\u0005\u027d\u0000\u0000"+
29649 "\u0290\u0295\u0003\u001a\r\u0000\u0291\u0292\u0005$\u0000\u0000\u0292"+
29650 "\u0294\u0003\u001a\r\u0000\u0293\u0291\u0001\u0000\u0000\u0000\u0294\u0297"+
29651 "\u0001\u0000\u0000\u0000\u0295\u0293\u0001\u0000\u0000\u0000\u0295\u0296"+
29652 "\u0001\u0000\u0000\u0000\u0296\u001d\u0001\u0000\u0000\u0000\u0297\u0295"+
29653 "\u0001\u0000\u0000\u0000\u0298\u0299\u0005\u001e\u0000\u0000\u0299\u029e"+
29654 "\u0003 \u0010\u0000\u029a\u029b\u0005$\u0000\u0000\u029b\u029d\u0003 "+
29655 "\u0010\u0000\u029c\u029a\u0001\u0000\u0000\u0000\u029d\u02a0\u0001\u0000"+
29656 "\u0000\u0000\u029e\u029c\u0001\u0000\u0000\u0000\u029e\u029f\u0001\u0000"+
29657 "\u0000\u0000\u029f\u02a1\u0001\u0000\u0000\u0000\u02a0\u029e\u0001\u0000"+
29658 "\u0000\u0000\u02a1\u02a2\u0005\u001f\u0000\u0000\u02a2\u02a6\u0001\u0000"+
29659 "\u0000\u0000\u02a3\u02a4\u0005\u001e\u0000\u0000\u02a4\u02a6\u0005\u001f"+
29660 "\u0000\u0000\u02a5\u0298\u0001\u0000\u0000\u0000\u02a5\u02a3\u0001\u0000"+
29661 "\u0000\u0000\u02a6\u001f\u0001\u0000\u0000\u0000\u02a7\u02ab\u0003\"\u0011"+
29662 "\u0000\u02a8\u02ab\u0003\u0134\u009a\u0000\u02a9\u02ab\u0005\u00c3\u0000"+
29663 "\u0000\u02aa\u02a7\u0001\u0000\u0000\u0000\u02aa\u02a8\u0001\u0000\u0000"+
29664 "\u0000\u02aa\u02a9\u0001\u0000\u0000\u0000\u02ab!\u0001\u0000\u0000\u0000"+
29665 "\u02ac\u02ad\u0005B\u0000\u0000\u02ad\u02ae\u0003\u0098L\u0000\u02ae#"+
29666 "\u0001\u0000\u0000\u0000\u02af\u02b0\u0005\u00c9\u0000\u0000\u02b0\u02b3"+
29667 "\u0003&\u0013\u0000\u02b1\u02b4\u0003(\u0014\u0000\u02b2\u02b4\u0003*"+
29668 "\u0015\u0000\u02b3\u02b1\u0001\u0000\u0000\u0000\u02b3\u02b2\u0001\u0000"+
29669 "\u0000\u0000\u02b4\u02b6\u0001\u0000\u0000\u0000\u02b5\u02b7\u0003l6\u0000"+
29670 "\u02b6\u02b5\u0001\u0000\u0000\u0000\u02b6\u02b7\u0001\u0000\u0000\u0000"+
29671 "\u02b7\u02b9\u0001\u0000\u0000\u0000\u02b8\u02ba\u0003\u01b0\u00d8\u0000"+
29672 "\u02b9\u02b8\u0001\u0000\u0000\u0000\u02b9\u02ba\u0001\u0000\u0000\u0000"+
29673 "\u02ba\u02bc\u0001\u0000\u0000\u0000\u02bb\u02bd\u0003r9\u0000\u02bc\u02bb"+
29674 "\u0001\u0000\u0000\u0000\u02bc\u02bd\u0001\u0000\u0000\u0000\u02bd%\u0001"+
29675 "\u0000\u0000\u0000\u02be\u02c0\u0005\u0186\u0000\u0000\u02bf\u02be\u0001"+
29676 "\u0000\u0000\u0000\u02bf\u02c0\u0001\u0000\u0000\u0000\u02c0\u02c2\u0001"+
29677 "\u0000\u0000\u0000\u02c1\u02c3\u0005\u0220\u0000\u0000\u02c2\u02c1\u0001"+
29678 "\u0000\u0000\u0000\u02c2\u02c3\u0001\u0000\u0000\u0000\u02c3\u02c5\u0001"+
29679 "\u0000\u0000\u0000\u02c4\u02c6\u0005\u013a\u0000\u0000\u02c5\u02c4\u0001"+
29680 "\u0000\u0000\u0000\u02c5\u02c6\u0001\u0000\u0000\u0000\u02c6\'\u0001\u0000"+
29681 "\u0000\u0000\u02c7\u02c8\u0005\u0115\u0000\u0000\u02c8\u02cd\u0003\u00dc"+
29682 "n\u0000\u02c9\u02cb\u0005Y\u0000\u0000\u02ca\u02c9\u0001\u0000\u0000\u0000"+
29683 "\u02ca\u02cb\u0001\u0000\u0000\u0000\u02cb\u02cc\u0001\u0000\u0000\u0000"+
29684 "\u02cc\u02ce\u0003\u00fc~\u0000\u02cd\u02ca\u0001\u0000\u0000\u0000\u02cd"+
29685 "\u02ce\u0001\u0000\u0000\u0000\u02ce\u02d0\u0001\u0000\u0000\u0000\u02cf"+
29686 "\u02d1\u0003\\.\u0000\u02d0\u02cf\u0001\u0000\u0000\u0000\u02d0\u02d1"+
29687 "\u0001\u0000\u0000\u0000\u02d1)\u0001\u0000\u0000\u0000\u02d2\u02d3\u0003"+
29688 "\u0090H\u0000\u02d3\u02d4\u0005\u0115\u0000\u0000\u02d4\u02d5\u0003T*"+
29689 "\u0000\u02d5\u02dc\u0001\u0000\u0000\u0000\u02d6\u02d7\u0005\u0115\u0000"+
29690 "\u0000\u02d7\u02d8\u0003\u0090H\u0000\u02d8\u02d9\u0005\u0307\u0000\u0000"+
29691 "\u02d9\u02da\u0003T*\u0000\u02da\u02dc\u0001\u0000\u0000\u0000\u02db\u02d2"+
29692 "\u0001\u0000\u0000\u0000\u02db\u02d6\u0001\u0000\u0000\u0000\u02dc+\u0001"+
29693 "\u0000\u0000\u0000\u02dd\u02df\u00030\u0018\u0000\u02de\u02e0\u0003\u0086"+
29694 "C\u0000\u02df\u02de\u0001\u0000\u0000\u0000\u02df\u02e0\u0001\u0000\u0000"+
29695 "\u0000\u02e0\u02e4\u0001\u0000\u0000\u0000\u02e1\u02e4\u00036\u001b\u0000"+
29696 "\u02e2\u02e4\u0003.\u0017\u0000\u02e3\u02dd\u0001\u0000\u0000\u0000\u02e3"+
29697 "\u02e1\u0001\u0000\u0000\u0000\u02e3\u02e2\u0001\u0000\u0000\u0000\u02e4"+
29698 "-\u0001\u0000\u0000\u0000\u02e5\u02e6\u0005\u001e\u0000\u0000\u02e6\u02e7"+
29699 "\u0003.\u0017\u0000\u02e7\u02e8\u0005\u001f\u0000\u0000\u02e8\u02f3\u0001"+
29700 "\u0000\u0000\u0000\u02e9\u02ea\u00030\u0018\u0000\u02ea\u02ec\u0003\u0082"+
29701 "A\u0000\u02eb\u02ed\u0003\u0086C\u0000\u02ec\u02eb\u0001\u0000\u0000\u0000"+
29702 "\u02ec\u02ed\u0001\u0000\u0000\u0000\u02ed\u02f3\u0001\u0000\u0000\u0000"+
29703 "\u02ee\u02ef\u00030\u0018\u0000\u02ef\u02f0\u0003\u0086C\u0000\u02f0\u02f1"+
29704 "\u0003\u0082A\u0000\u02f1\u02f3\u0001\u0000\u0000\u0000\u02f2\u02e5\u0001"+
29705 "\u0000\u0000\u0000\u02f2\u02e9\u0001\u0000\u0000\u0000\u02f2\u02ee\u0001"+
29706 "\u0000\u0000\u0000\u02f3/\u0001\u0000\u0000\u0000\u02f4\u02f6\u0003B!"+
29707 "\u0000\u02f5\u02f4\u0001\u0000\u0000\u0000\u02f5\u02f6\u0001\u0000\u0000"+
29708 "\u0000\u02f6\u02f9\u0001\u0000\u0000\u0000\u02f7\u02fa\u00032\u0019\u0000"+
29709 "\u02f8\u02fa\u00036\u001b\u0000\u02f9\u02f7\u0001\u0000\u0000\u0000\u02f9"+
29710 "\u02f8\u0001\u0000\u0000\u0000\u02fa\u02fc\u0001\u0000\u0000\u0000\u02fb"+
29711 "\u02fd\u0003\u01b0\u00d8\u0000\u02fc\u02fb\u0001\u0000\u0000\u0000\u02fc"+
29712 "\u02fd\u0001\u0000\u0000\u0000\u02fd\u02ff\u0001\u0000\u0000\u0000\u02fe"+
29713 "\u0300\u0003r9\u0000\u02ff\u02fe\u0001\u0000\u0000\u0000\u02ff\u0300\u0001"+
29714 "\u0000\u0000\u0000\u03001\u0001\u0000\u0000\u0000\u0301\u0302\u0006\u0019"+
29715 "\uffff\uffff\u0000\u0302\u0307\u00038\u001c\u0000\u0303\u0304\u00036\u001b"+
29716 "\u0000\u0304\u0305\u00034\u001a\u0000\u0305\u0307\u0001\u0000\u0000\u0000"+
29717 "\u0306\u0301\u0001\u0000\u0000\u0000\u0306\u0303\u0001\u0000\u0000\u0000"+
29718 "\u0307\u030c\u0001\u0000\u0000\u0000\u0308\u0309\n\u0001\u0000\u0000\u0309"+
29719 "\u030b\u00034\u001a\u0000\u030a\u0308\u0001\u0000\u0000\u0000\u030b\u030e"+
29720 "\u0001\u0000\u0000\u0000\u030c\u030a\u0001\u0000\u0000\u0000\u030c\u030d"+
29721 "\u0001\u0000\u0000\u0000\u030d3\u0001\u0000\u0000\u0000\u030e\u030c\u0001"+
29722 "\u0000\u0000\u0000\u030f\u0311\u0005\u02f8\u0000\u0000\u0310\u0312\u0003"+
29723 "\u01ee\u00f7\u0000\u0311\u0310\u0001\u0000\u0000\u0000\u0311\u0312\u0001"+
29724 "\u0000\u0000\u0000\u0312\u0315\u0001\u0000\u0000\u0000\u0313\u0316\u0003"+
29725 "8\u001c\u0000\u0314\u0316\u00036\u001b\u0000\u0315\u0313\u0001\u0000\u0000"+
29726 "\u0000\u0315\u0314\u0001\u0000\u0000\u0000\u0316\u0320\u0001\u0000\u0000"+
29727 "\u0000\u0317\u0319\u0005\u00f3\u0000\u0000\u0318\u031a\u0003\u01ee\u00f7"+
29728 "\u0000\u0319\u0318\u0001\u0000\u0000\u0000\u0319\u031a\u0001\u0000\u0000"+
29729 "\u0000\u031a\u031d\u0001\u0000\u0000\u0000\u031b\u031e\u00038\u001c\u0000"+
29730 "\u031c\u031e\u00036\u001b\u0000\u031d\u031b\u0001\u0000\u0000\u0000\u031d"+
29731 "\u031c\u0001\u0000\u0000\u0000\u031e\u0320\u0001\u0000\u0000\u0000\u031f"+
29732 "\u030f\u0001\u0000\u0000\u0000\u031f\u0317\u0001\u0000\u0000\u0000\u0320"+
29733 "5\u0001\u0000\u0000\u0000\u0321\u0327\u0005\u001e\u0000\u0000\u0322\u0328"+
29734 "\u00036\u001b\u0000\u0323\u0325\u00030\u0018\u0000\u0324\u0326\u0003\u0086"+
29735 "C\u0000\u0325\u0324\u0001\u0000\u0000\u0000\u0325\u0326\u0001\u0000\u0000"+
29736 "\u0000\u0326\u0328\u0001\u0000\u0000\u0000\u0327\u0322\u0001\u0000\u0000"+
29737 "\u0000\u0327\u0323\u0001\u0000\u0000\u0000\u0328\u0329\u0001\u0000\u0000"+
29738 "\u0000\u0329\u032a\u0005\u001f\u0000\u0000\u032a7\u0001\u0000\u0000\u0000"+
29739 "\u032b\u032f\u0003:\u001d\u0000\u032c\u032f\u0003>\u001f\u0000\u032d\u032f"+
29740 "\u0003<\u001e\u0000\u032e\u032b\u0001\u0000\u0000\u0000\u032e\u032c\u0001"+
29741 "\u0000\u0000\u0000\u032e\u032d\u0001\u0000\u0000\u0000\u032f9\u0001\u0000"+
29742 "\u0000\u0000\u0330\u0334\u0005\u0276\u0000\u0000\u0331\u0333\u0003F#\u0000"+
29743 "\u0332\u0331\u0001\u0000\u0000\u0000\u0333\u0336\u0001\u0000\u0000\u0000"+
29744 "\u0334\u0332\u0001\u0000\u0000\u0000\u0334\u0335\u0001\u0000\u0000\u0000"+
29745 "\u0335\u0337\u0001\u0000\u0000\u0000\u0336\u0334\u0001\u0000\u0000\u0000"+
29746 "\u0337\u0339\u0003J%\u0000\u0338\u033a\u0003\u0082A\u0000\u0339\u0338"+
29747 "\u0001\u0000\u0000\u0000\u0339\u033a\u0001\u0000\u0000\u0000\u033a\u033c"+
29748 "\u0001\u0000\u0000\u0000\u033b\u033d\u0003R)\u0000\u033c\u033b\u0001\u0000"+
29749 "\u0000\u0000\u033c\u033d\u0001\u0000\u0000\u0000\u033d\u033f\u0001\u0000"+
29750 "\u0000\u0000\u033e\u0340\u0003l6\u0000\u033f\u033e\u0001\u0000\u0000\u0000"+
29751 "\u033f\u0340\u0001\u0000\u0000\u0000\u0340\u0342\u0001\u0000\u0000\u0000"+
29752 "\u0341\u0343\u0003n7\u0000\u0342\u0341\u0001\u0000\u0000\u0000\u0342\u0343"+
29753 "\u0001\u0000\u0000\u0000\u0343\u0345\u0001\u0000\u0000\u0000\u0344\u0346"+
29754 "\u0003p8\u0000\u0345\u0344\u0001\u0000\u0000\u0000\u0345\u0346\u0001\u0000"+
29755 "\u0000\u0000\u0346\u0348\u0001\u0000\u0000\u0000\u0347\u0349\u0003x<\u0000"+
29756 "\u0348\u0347\u0001\u0000\u0000\u0000\u0348\u0349\u0001\u0000\u0000\u0000"+
29757 "\u0349;\u0001\u0000\u0000\u0000\u034a\u034b\u0005\u02d2\u0000\u0000\u034b"+
29758 "\u034c\u0003\u00dcn\u0000\u034c=\u0001\u0000\u0000\u0000\u034d\u034e\u0005"+
29759 "\u030d\u0000\u0000\u034e\u034f\u0003@ \u0000\u034f?\u0001\u0000\u0000"+
29760 "\u0000\u0350\u0351\u0005\u0263\u0000\u0000\u0351\u0357\u0003\u001e\u000f"+
29761 "\u0000\u0352\u0353\u0005$\u0000\u0000\u0353\u0354\u0005\u0263\u0000\u0000"+
29762 "\u0354\u0356\u0003\u001e\u000f\u0000\u0355\u0352\u0001\u0000\u0000\u0000"+
29763 "\u0356\u0359\u0001\u0000\u0000\u0000\u0357\u0355\u0001\u0000\u0000\u0000"+
29764 "\u0357\u0358\u0001\u0000\u0000\u0000\u0358A\u0001\u0000\u0000\u0000\u0359"+
29765 "\u0357\u0001\u0000\u0000\u0000\u035a\u035c\u0005\u031f\u0000\u0000\u035b"+
29766 "\u035d\u0005\u022b\u0000\u0000\u035c\u035b\u0001\u0000\u0000\u0000\u035c"+
29767 "\u035d\u0001\u0000\u0000\u0000\u035d\u035e\u0001\u0000\u0000\u0000\u035e"+
29768 "\u0363\u0003D\"\u0000\u035f\u0360\u0005$\u0000\u0000\u0360\u0362\u0003"+
29769 "D\"\u0000\u0361\u035f\u0001\u0000\u0000\u0000\u0362\u0365\u0001\u0000"+
29770 "\u0000\u0000\u0363\u0361\u0001\u0000\u0000\u0000\u0363\u0364\u0001\u0000"+
29771 "\u0000\u0000\u0364C\u0001\u0000\u0000\u0000\u0365\u0363\u0001\u0000\u0000"+
29772 "\u0000\u0366\u036b\u0003\u00aaU\u0000\u0367\u0368\u0005\u001e\u0000\u0000"+
29773 "\u0368\u0369\u0003\u0104\u0082\u0000\u0369\u036a\u0005\u001f\u0000\u0000"+
29774 "\u036a\u036c\u0001\u0000\u0000\u0000\u036b\u0367\u0001\u0000\u0000\u0000"+
29775 "\u036b\u036c\u0001\u0000\u0000\u0000\u036c\u036d\u0001\u0000\u0000\u0000"+
29776 "\u036d\u036e\u0005Y\u0000\u0000\u036e\u036f\u0003|>\u0000\u036fE\u0001"+
29777 "\u0000\u0000\u0000\u0370\u0379\u0003H$\u0000\u0371\u0379\u0005\u012f\u0000"+
29778 "\u0000\u0372\u0379\u0005\u02ab\u0000\u0000\u0373\u0379\u0005\u029c\u0000"+
29779 "\u0000\u0374\u0379\u0005\u0298\u0000\u0000\u0375\u0379\u0005\u0299\u0000"+
29780 "\u0000\u0376\u0379\u0005\u029b\u0000\u0000\u0377\u0379\u0005\u029a\u0000"+
29781 "\u0000\u0378\u0370\u0001\u0000\u0000\u0000\u0378\u0371\u0001\u0000\u0000"+
29782 "\u0000\u0378\u0372\u0001\u0000\u0000\u0000\u0378\u0373\u0001\u0000\u0000"+
29783 "\u0000\u0378\u0374\u0001\u0000\u0000\u0000\u0378\u0375\u0001\u0000\u0000"+
29784 "\u0000\u0378\u0376\u0001\u0000\u0000\u0000\u0378\u0377\u0001\u0000\u0000"+
29785 "\u0000\u0379G\u0001\u0000\u0000\u0000\u037a\u037b\u0007\u0002\u0000\u0000"+
29786 "\u037bI\u0001\u0000\u0000\u0000\u037c\u037f\u0003N\'\u0000\u037d\u037f"+
29787 "\u0003L&\u0000\u037e\u037c\u0001\u0000\u0000\u0000\u037e\u037d\u0001\u0000"+
29788 "\u0000\u0000\u037f\u0384\u0001\u0000\u0000\u0000\u0380\u0381\u0005$\u0000"+
29789 "\u0000\u0381\u0383\u0003L&\u0000\u0382\u0380\u0001\u0000\u0000\u0000\u0383"+
29790 "\u0386\u0001\u0000\u0000\u0000\u0384\u0382\u0001\u0000\u0000\u0000\u0384"+
29791 "\u0385\u0001\u0000\u0000\u0000\u0385K\u0001\u0000\u0000\u0000\u0386\u0384"+
29792 "\u0001\u0000\u0000\u0000\u0387\u038c\u0003\u0134\u009a\u0000\u0388\u038a"+
29793 "\u0005Y\u0000\u0000\u0389\u0388\u0001\u0000\u0000\u0000\u0389\u038a\u0001"+
29794 "\u0000\u0000\u0000\u038a\u038b\u0001\u0000\u0000\u0000\u038b\u038d\u0003"+
29795 "\u00fc~\u0000\u038c\u0389\u0001\u0000\u0000\u0000\u038c\u038d\u0001\u0000"+
29796 "\u0000\u0000\u038d\u0390\u0001\u0000\u0000\u0000\u038e\u0390\u0003P(\u0000"+
29797 "\u038f\u0387\u0001\u0000\u0000\u0000\u038f\u038e\u0001\u0000\u0000\u0000"+
29798 "\u0390M\u0001\u0000\u0000\u0000\u0391\u0392\u0005\u0010\u0000\u0000\u0392"+
29799 "O\u0001\u0000\u0000\u0000\u0393\u0394\u0003\u00aaU\u0000\u0394\u0395\u0005"+
29800 "\u0013\u0000\u0000\u0395\u0397\u0001\u0000\u0000\u0000\u0396\u0393\u0001"+
29801 "\u0000\u0000\u0000\u0396\u0397\u0001\u0000\u0000\u0000\u0397\u0398\u0001"+
29802 "\u0000\u0000\u0000\u0398\u0399\u0003\u00aaU\u0000\u0399\u039a\u0005\u0014"+
29803 "\u0000\u0000\u039aQ\u0001\u0000\u0000\u0000\u039b\u039e\u0005\u0115\u0000"+
29804 "\u0000\u039c\u039f\u0005\u00da\u0000\u0000\u039d\u039f\u0003T*\u0000\u039e"+
29805 "\u039c\u0001\u0000\u0000\u0000\u039e\u039d\u0001\u0000\u0000\u0000\u039f"+
29806 "S\u0001\u0000\u0000\u0000\u03a0\u03a5\u0003X,\u0000\u03a1\u03a2\u0005"+
29807 "$\u0000\u0000\u03a2\u03a4\u0003X,\u0000\u03a3\u03a1\u0001\u0000\u0000"+
29808 "\u0000\u03a4\u03a7\u0001\u0000\u0000\u0000\u03a5\u03a3\u0001\u0000\u0000"+
29809 "\u0000\u03a5\u03a6\u0001\u0000\u0000\u0000\u03a6U\u0001\u0000\u0000\u0000"+
29810 "\u03a7\u03a5\u0001\u0000\u0000\u0000\u03a8\u03ac\u0003Z-\u0000\u03a9\u03ab"+
29811 "\u0003b1\u0000\u03aa\u03a9\u0001\u0000\u0000\u0000\u03ab\u03ae\u0001\u0000"+
29812 "\u0000\u0000\u03ac\u03aa\u0001\u0000\u0000\u0000\u03ac\u03ad\u0001\u0000"+
29813 "\u0000\u0000\u03adW\u0001\u0000\u0000\u0000\u03ae\u03ac\u0001\u0000\u0000"+
29814 "\u0000\u03af\u03b6\u0003Z-\u0000\u03b0\u03b1\u0005 \u0000\u0000\u03b1"+
29815 "\u03b2\u0005\u01e4\u0000\u0000\u03b2\u03b3\u0003V+\u0000\u03b3\u03b4\u0005"+
29816 "!\u0000\u0000\u03b4\u03b6\u0001\u0000\u0000\u0000\u03b5\u03af\u0001\u0000"+
29817 "\u0000\u0000\u03b5\u03b0\u0001\u0000\u0000\u0000\u03b6\u03ba\u0001\u0000"+
29818 "\u0000\u0000\u03b7\u03b9\u0003b1\u0000\u03b8\u03b7\u0001\u0000\u0000\u0000"+
29819 "\u03b9\u03bc\u0001\u0000\u0000\u0000\u03ba\u03b8\u0001\u0000\u0000\u0000"+
29820 "\u03ba\u03bb\u0001\u0000\u0000\u0000\u03bbY\u0001\u0000\u0000\u0000\u03bc"+
29821 "\u03ba\u0001\u0000\u0000\u0000\u03bd\u03bf\u0003\u00dcn\u0000\u03be\u03c0"+
29822 "\u0003\\.\u0000\u03bf\u03be\u0001\u0000\u0000\u0000\u03bf\u03c0\u0001"+
29823 "\u0000\u0000\u0000\u03c0\u03c5\u0001\u0000\u0000\u0000\u03c1\u03c3\u0005"+
29824 "Y\u0000\u0000\u03c2\u03c1\u0001\u0000\u0000\u0000\u03c2\u03c3\u0001\u0000"+
29825 "\u0000\u0000\u03c3\u03c4\u0001\u0000\u0000\u0000\u03c4\u03c6\u0003\u00fc"+
29826 "~\u0000\u03c5\u03c2\u0001\u0000\u0000\u0000\u03c5\u03c6\u0001\u0000\u0000"+
29827 "\u0000\u03c6\u03c8\u0001\u0000\u0000\u0000\u03c7\u03c9\u0003^/\u0000\u03c8"+
29828 "\u03c7\u0001\u0000\u0000\u0000\u03c8\u03c9\u0001\u0000\u0000\u0000\u03c9"+
29829 "\u03da\u0001\u0000\u0000\u0000\u03ca\u03cc\u0003|>\u0000\u03cb\u03cd\u0005"+
29830 "Y\u0000\u0000\u03cc\u03cb\u0001\u0000\u0000\u0000\u03cc\u03cd\u0001\u0000"+
29831 "\u0000\u0000\u03cd\u03ce\u0001\u0000\u0000\u0000\u03ce\u03d3\u0003\u00fc"+
29832 "~\u0000\u03cf\u03d0\u0005\u001e\u0000\u0000\u03d0\u03d1\u0003\u0104\u0082"+
29833 "\u0000\u03d1\u03d2\u0005\u001f\u0000\u0000\u03d2\u03d4\u0001\u0000\u0000"+
29834 "\u0000\u03d3\u03cf\u0001\u0000\u0000\u0000\u03d3\u03d4\u0001\u0000\u0000"+
29835 "\u0000\u03d4\u03da\u0001\u0000\u0000\u0000\u03d5\u03d6\u0005\u001e\u0000"+
29836 "\u0000\u03d6\u03d7\u0003T*\u0000\u03d7\u03d8\u0005\u001f\u0000\u0000\u03d8"+
29837 "\u03da\u0001\u0000\u0000\u0000\u03d9\u03bd\u0001\u0000\u0000\u0000\u03d9"+
29838 "\u03ca\u0001\u0000\u0000\u0000\u03d9\u03d5\u0001\u0000\u0000\u0000\u03da"+
29839 "[\u0001\u0000\u0000\u0000\u03db\u03dc\u0005\u01fe\u0000\u0000\u03dc\u03dd"+
29840 "\u0005\u001e\u0000\u0000\u03dd\u03e2\u0003\u00aaU\u0000\u03de\u03df\u0005"+
29841 "$\u0000\u0000\u03df\u03e1\u0003\u00aaU\u0000\u03e0\u03de\u0001\u0000\u0000"+
29842 "\u0000\u03e1\u03e4\u0001\u0000\u0000\u0000\u03e2\u03e0\u0001\u0000\u0000"+
29843 "\u0000\u03e2\u03e3\u0001\u0000\u0000\u0000\u03e3\u03e5\u0001\u0000\u0000"+
29844 "\u0000\u03e4\u03e2\u0001\u0000\u0000\u0000\u03e5\u03e6\u0005\u001f\u0000"+
29845 "\u0000\u03e6]\u0001\u0000\u0000\u0000\u03e7\u03ec\u0003`0\u0000\u03e8"+
29846 "\u03e9\u0005$\u0000\u0000\u03e9\u03eb\u0003`0\u0000\u03ea\u03e8\u0001"+
29847 "\u0000\u0000\u0000\u03eb\u03ee\u0001\u0000\u0000\u0000\u03ec\u03ea\u0001"+
29848 "\u0000\u0000\u0000\u03ec\u03ed\u0001\u0000\u0000\u0000\u03ed_\u0001\u0000"+
29849 "\u0000\u0000\u03ee\u03ec\u0001\u0000\u0000\u0000\u03ef\u03f0\u0007\u0003"+
29850 "\u0000\u0000\u03f0\u03f9\u0007\u0004\u0000\u0000\u03f1\u03f7\u0005\u0110"+
29851 "\u0000\u0000\u03f2\u03f8\u0005\u015d\u0000\u0000\u03f3\u03f4\u0005\u01f1"+
29852 "\u0000\u0000\u03f4\u03f8\u0005t\u0000\u0000\u03f5\u03f6\u0005\u0124\u0000"+
29853 "\u0000\u03f6\u03f8\u0005t\u0000\u0000\u03f7\u03f2\u0001\u0000\u0000\u0000"+
29854 "\u03f7\u03f3\u0001\u0000\u0000\u0000\u03f7\u03f5\u0001\u0000\u0000\u0000"+
29855 "\u03f8\u03fa\u0001\u0000\u0000\u0000\u03f9\u03f1\u0001\u0000\u0000\u0000"+
29856 "\u03f9\u03fa\u0001\u0000\u0000\u0000\u03fa\u03fb\u0001\u0000\u0000\u0000"+
29857 "\u03fb\u03fc\u0005\u001e\u0000\u0000\u03fc\u0401\u0003\u00e0p\u0000\u03fd"+
29858 "\u03fe\u0005$\u0000\u0000\u03fe\u0400\u0003\u00e0p\u0000\u03ff\u03fd\u0001"+
29859 "\u0000\u0000\u0000\u0400\u0403\u0001\u0000\u0000\u0000\u0401\u03ff\u0001"+
29860 "\u0000\u0000\u0000\u0401\u0402\u0001\u0000\u0000\u0000\u0402\u0404\u0001"+
29861 "\u0000\u0000\u0000\u0403\u0401\u0001\u0000\u0000\u0000\u0404\u0405\u0005"+
29862 "\u001f\u0000\u0000\u0405a\u0001\u0000\u0000\u0000\u0406\u0407\u0003d2"+
29863 "\u0000\u0407\u0409\u0003X,\u0000\u0408\u040a\u0003j5\u0000\u0409\u0408"+
29864 "\u0001\u0000\u0000\u0000\u0409\u040a\u0001\u0000\u0000\u0000\u040a\u0413"+
29865 "\u0001\u0000\u0000\u0000\u040b\u040c\u0003f3\u0000\u040c\u040d\u0003X"+
29866 ",\u0000\u040d\u040e\u0003j5\u0000\u040e\u0413\u0001\u0000\u0000\u0000"+
29867 "\u040f\u0410\u0003h4\u0000\u0410\u0411\u0003Z-\u0000\u0411\u0413\u0001"+
29868 "\u0000\u0000\u0000\u0412\u0406\u0001\u0000\u0000\u0000\u0412\u040b\u0001"+
29869 "\u0000\u0000\u0000\u0412\u040f\u0001\u0000\u0000\u0000\u0413c\u0001\u0000"+
29870 "\u0000\u0000\u0414\u0416\u0007\u0005\u0000\u0000\u0415\u0414\u0001\u0000"+
29871 "\u0000\u0000\u0415\u0416\u0001\u0000\u0000\u0000\u0416\u0417\u0001\u0000"+
29872 "\u0000\u0000\u0417\u041a\u0005\u015d\u0000\u0000\u0418\u041a\u0005\u02ab"+
29873 "\u0000\u0000\u0419\u0415\u0001\u0000\u0000\u0000\u0419\u0418\u0001\u0000"+
29874 "\u0000\u0000\u041ae\u0001\u0000\u0000\u0000\u041b\u041d\u0007\u0006\u0000"+
29875 "\u0000\u041c\u041e\u0005\u01f6\u0000\u0000\u041d\u041c\u0001\u0000\u0000"+
29876 "\u0000\u041d\u041e\u0001\u0000\u0000\u0000\u041e\u041f\u0001\u0000\u0000"+
29877 "\u0000\u041f\u0420\u0005\u015d\u0000\u0000\u0420g\u0001\u0000\u0000\u0000"+
29878 "\u0421\u0423\u0005\u01c9\u0000\u0000\u0422\u0424\u0005\u0143\u0000\u0000"+
29879 "\u0423\u0422\u0001\u0000\u0000\u0000\u0423\u0424\u0001\u0000\u0000\u0000"+
29880 "\u0424\u0425\u0001\u0000\u0000\u0000\u0425\u042d\u0005\u015d\u0000\u0000"+
29881 "\u0426\u0427\u0005\u01c9\u0000\u0000\u0427\u0429\u0007\u0006\u0000\u0000"+
29882 "\u0428\u042a\u0005\u01f6\u0000\u0000\u0429\u0428\u0001\u0000\u0000\u0000"+
29883 "\u0429\u042a\u0001\u0000\u0000\u0000\u042a\u042b\u0001\u0000\u0000\u0000"+
29884 "\u042b\u042d\u0005\u015d\u0000\u0000\u042c\u0421\u0001\u0000\u0000\u0000"+
29885 "\u042c\u0426\u0001\u0000\u0000\u0000\u042di\u0001\u0000\u0000\u0000\u042e"+
29886 "\u042f\u0005\u01e6\u0000\u0000\u042f\u0436\u0003\u0134\u009a\u0000\u0430"+
29887 "\u0431\u0005\u0307\u0000\u0000\u0431\u0432\u0005\u001e\u0000\u0000\u0432"+
29888 "\u0433\u0003\u0104\u0082\u0000\u0433\u0434\u0005\u001f\u0000\u0000\u0434"+
29889 "\u0436\u0001\u0000\u0000\u0000\u0435\u042e\u0001\u0000\u0000\u0000\u0435"+
29890 "\u0430\u0001\u0000\u0000\u0000\u0436k\u0001\u0000\u0000\u0000\u0437\u0438"+
29891 "\u0005\u031c\u0000\u0000\u0438\u0439\u0003\u0134\u009a\u0000\u0439m\u0001"+
29892 "\u0000\u0000\u0000\u043a\u043b\u0005\u0124\u0000\u0000\u043b\u043c\u0005"+
29893 "t\u0000\u0000\u043c\u0441\u0003\u01b2\u00d9\u0000\u043d\u043e\u0005$\u0000"+
29894 "\u0000\u043e\u0440\u0003\u01b2\u00d9\u0000\u043f\u043d\u0001\u0000\u0000"+
29895 "\u0000\u0440\u0443\u0001\u0000\u0000\u0000\u0441\u043f\u0001\u0000\u0000"+
29896 "\u0000\u0441\u0442\u0001\u0000\u0000\u0000\u0442\u0446\u0001\u0000\u0000"+
29897 "\u0000\u0443\u0441\u0001\u0000\u0000\u0000\u0444\u0445\u0005\u031f\u0000"+
29898 "\u0000\u0445\u0447\u0005\u0260\u0000\u0000\u0446\u0444\u0001\u0000\u0000"+
29899 "\u0000\u0446\u0447\u0001\u0000\u0000\u0000\u0447o\u0001\u0000\u0000\u0000"+
29900 "\u0448\u0449\u0005\u012d\u0000\u0000\u0449\u044a\u0003\u0134\u009a\u0000"+
29901 "\u044aq\u0001\u0000\u0000\u0000\u044b\u0456\u0005\u0172\u0000\u0000\u044c"+
29902 "\u044d\u0003v;\u0000\u044d\u044e\u0005$\u0000\u0000\u044e\u0450\u0001"+
29903 "\u0000\u0000\u0000\u044f\u044c\u0001\u0000\u0000\u0000\u044f\u0450\u0001"+
29904 "\u0000\u0000\u0000\u0450\u0451\u0001\u0000\u0000\u0000\u0451\u0457\u0003"+
29905 "t:\u0000\u0452\u0453\u0003t:\u0000\u0453\u0454\u0005\u01e3\u0000\u0000"+
29906 "\u0454\u0455\u0003v;\u0000\u0455\u0457\u0001\u0000\u0000\u0000\u0456\u044f"+
29907 "\u0001\u0000\u0000\u0000\u0456\u0452\u0001\u0000\u0000\u0000\u0457s\u0001"+
29908 "\u0000\u0000\u0000\u0458\u045b\u0003\u009cN\u0000\u0459\u045b\u0003\u0092"+
29909 "I\u0000\u045a\u0458\u0001\u0000\u0000\u0000\u045a\u0459\u0001\u0000\u0000"+
29910 "\u0000\u045bu\u0001\u0000\u0000\u0000\u045c\u045f\u0003\u009cN\u0000\u045d"+
29911 "\u045f\u0003\u0092I\u0000\u045e\u045c\u0001\u0000\u0000\u0000\u045e\u045d"+
29912 "\u0001\u0000\u0000\u0000\u045fw\u0001\u0000\u0000\u0000\u0460\u0461\u0005"+
29913 "\u031e\u0000\u0000\u0461\u0466\u0003z=\u0000\u0462\u0463\u0005$\u0000"+
29914 "\u0000\u0463\u0465\u0003z=\u0000\u0464\u0462\u0001\u0000\u0000\u0000\u0465"+
29915 "\u0468\u0001\u0000\u0000\u0000\u0466\u0464\u0001\u0000\u0000\u0000\u0466"+
29916 "\u0467\u0001\u0000\u0000\u0000\u0467y\u0001\u0000\u0000\u0000\u0468\u0466"+
29917 "\u0001\u0000\u0000\u0000\u0469\u046a\u0003\u00aaU\u0000\u046a\u046b\u0005"+
29918 "Y\u0000\u0000\u046b\u046c\u0003\u0160\u00b0\u0000\u046c{\u0001\u0000\u0000"+
29919 "\u0000\u046d\u046e\u00036\u001b\u0000\u046e}\u0001\u0000\u0000\u0000\u046f"+
29920 "\u0470\u0005\u02a2\u0000\u0000\u0470\u0471\u0005t\u0000\u0000\u0471\u0476"+
29921 "\u0003\u0098L\u0000\u0472\u0473\u0005\u02d9\u0000\u0000\u0473\u0474\u0005"+
29922 "t\u0000\u0000\u0474\u0476\u0003\u0098L\u0000\u0475\u046f\u0001\u0000\u0000"+
29923 "\u0000\u0475\u0472\u0001\u0000\u0000\u0000\u0476\u007f\u0001\u0000\u0000"+
29924 "\u0000\u0477\u0478\u0005\u02d9\u0000\u0000\u0478\u0479\u0005t\u0000\u0000"+
29925 "\u0479\u0484\u0003\u0098L\u0000\u047a\u047c\u0005\u01ee\u0000\u0000\u047b"+
29926 "\u047a\u0001\u0000\u0000\u0000\u047b\u047c\u0001\u0000\u0000\u0000\u047c"+
29927 "\u047d\u0001\u0000\u0000\u0000\u047d\u047e\u0005\u00e3\u0000\u0000\u047e"+
29928 "\u047f\u0005t\u0000\u0000\u047f\u0484\u0003\u0098L\u0000\u0480\u0481\u0005"+
29929 "\u00ef\u0000\u0000\u0481\u0482\u0005t\u0000\u0000\u0482\u0484\u0003\u0098"+
29930 "L\u0000\u0483\u0477\u0001\u0000\u0000\u0000\u0483\u047b\u0001\u0000\u0000"+
29931 "\u0000\u0483\u0480\u0001\u0000\u0000\u0000\u0484\u0081\u0001\u0000\u0000"+
29932 "\u0000\u0485\u0486\u0005\u0152\u0000\u0000\u0486\u048b\u0003\u00ba]\u0000"+
29933 "\u0487\u0488\u0005$\u0000\u0000\u0488\u048a\u0003\u00ba]\u0000\u0489\u0487"+
29934 "\u0001\u0000\u0000\u0000\u048a\u048d\u0001\u0000\u0000\u0000\u048b\u0489"+
29935 "\u0001\u0000\u0000\u0000\u048b\u048c\u0001\u0000\u0000\u0000\u048c\u04aa"+
29936 "\u0001\u0000\u0000\u0000\u048d\u048b\u0001\u0000\u0000\u0000\u048e\u048f"+
29937 "\u0005\u0152\u0000\u0000\u048f\u0490\u0005\u00db\u0000\u0000\u0490\u04aa"+
29938 "\u0003\u0098L\u0000\u0491\u0492\u0005\u0152\u0000\u0000\u0492\u0493\u0005"+
29939 "\u01f7\u0000\u0000\u0493\u0497\u0003\u0098L\u0000\u0494\u0495\u0005\u0082"+
29940 "\u0000\u0000\u0495\u0496\u0005\u027d\u0000\u0000\u0496\u0498\u0003\u00d6"+
29941 "k\u0000\u0497\u0494\u0001\u0000\u0000\u0000\u0497\u0498\u0001\u0000\u0000"+
29942 "\u0000\u0498\u049f\u0001\u0000\u0000\u0000\u0499\u049b\u0005\u0091\u0000"+
29943 "\u0000\u049a\u049c\u0003\u0080@\u0000\u049b\u049a\u0001\u0000\u0000\u0000"+
29944 "\u049c\u049d\u0001\u0000\u0000\u0000\u049d\u049b\u0001\u0000\u0000\u0000"+
29945 "\u049d\u049e\u0001\u0000\u0000\u0000\u049e\u04a0\u0001\u0000\u0000\u0000"+
29946 "\u049f\u0499\u0001\u0000\u0000\u0000\u049f\u04a0\u0001\u0000\u0000\u0000"+
29947 "\u04a0\u04a7\u0001\u0000\u0000\u0000\u04a1\u04a3\u0005\u0174\u0000\u0000"+
29948 "\u04a2\u04a4\u0003~?\u0000\u04a3\u04a2\u0001\u0000\u0000\u0000\u04a4\u04a5"+
29949 "\u0001\u0000\u0000\u0000\u04a5\u04a3\u0001\u0000\u0000\u0000\u04a5\u04a6"+
29950 "\u0001\u0000\u0000\u0000\u04a6\u04a8\u0001\u0000\u0000\u0000\u04a7\u04a1"+
29951 "\u0001\u0000\u0000\u0000\u04a7\u04a8\u0001\u0000\u0000\u0000\u04a8\u04aa"+
29952 "\u0001\u0000\u0000\u0000\u04a9\u0485\u0001\u0000\u0000\u0000\u04a9\u048e"+
29953 "\u0001\u0000\u0000\u0000\u04a9\u0491\u0001\u0000\u0000\u0000\u04aa\u0083"+
29954 "\u0001\u0000\u0000\u0000\u04ab\u04ac\u0005\u0110\u0000\u0000\u04ac\u04ae"+
29955 "\u0003\u0088D\u0000\u04ad\u04af\u0003\u008cF\u0000\u04ae\u04ad\u0001\u0000"+
29956 "\u0000\u0000\u04ae\u04af\u0001\u0000\u0000\u0000\u04af\u04b1\u0001\u0000"+
29957 "\u0000\u0000\u04b0\u04b2\u0003\u008aE\u0000\u04b1\u04b0\u0001\u0000\u0000"+
29958 "\u0000\u04b1\u04b2\u0001\u0000\u0000\u0000\u04b2\u04b8\u0001\u0000\u0000"+
29959 "\u0000\u04b3\u04b4\u0005\u017b\u0000\u0000\u04b4\u04b5\u0005\u013d\u0000"+
29960 "\u0000\u04b5\u04b6\u0005\u027e\u0000\u0000\u04b6\u04b8\u0005\u01bb\u0000"+
29961 "\u0000\u04b7\u04ab\u0001\u0000\u0000\u0000\u04b7\u04b3\u0001\u0000\u0000"+
29962 "\u0000\u04b8\u0085\u0001\u0000\u0000\u0000\u04b9\u04bb\u0003\u0084B\u0000"+
29963 "\u04ba\u04b9\u0001\u0000\u0000\u0000\u04bb\u04bc\u0001\u0000\u0000\u0000"+
29964 "\u04bc\u04ba\u0001\u0000\u0000\u0000\u04bc\u04bd\u0001\u0000\u0000\u0000"+
29965 "\u04bd\u0087\u0001\u0000\u0000\u0000\u04be\u04bf\u0007\u0007\u0000\u0000"+
29966 "\u04bf\u0089\u0001\u0000\u0000\u0000\u04c0\u04c1\u0005\u0286\u0000\u0000"+
29967 "\u04c1\u04c4\u0005\u017c\u0000\u0000\u04c2\u04c4\u0005\u01d7\u0000\u0000"+
29968 "\u04c3\u04c0\u0001\u0000\u0000\u0000\u04c3\u04c2\u0001\u0000\u0000\u0000"+
29969 "\u04c4\u008b\u0001\u0000\u0000\u0000\u04c5\u04c6\u0005\u01e1\u0000\u0000"+
29970 "\u04c6\u04c7\u0003\u0090H\u0000\u04c7\u008d\u0001\u0000\u0000\u0000\u04c8"+
29971 "\u04ca\u0003\u00dcn\u0000\u04c9\u04cb\u0005\u0014\u0000\u0000\u04ca\u04c9"+
29972 "\u0001\u0000\u0000\u0000\u04ca\u04cb\u0001\u0000\u0000\u0000\u04cb\u008f"+
29973 "\u0001\u0000\u0000\u0000\u04cc\u04d1\u0003\u008eG\u0000\u04cd\u04ce\u0005"+
29974 "$\u0000\u0000\u04ce\u04d0\u0003\u008eG\u0000\u04cf\u04cd\u0001\u0000\u0000"+
29975 "\u0000\u04d0\u04d3\u0001\u0000\u0000\u0000\u04d1\u04cf\u0001\u0000\u0000"+
29976 "\u0000\u04d1\u04d2\u0001\u0000\u0000\u0000\u04d2\u0091\u0001\u0000\u0000"+
29977 "\u0000\u04d3\u04d1\u0001\u0000\u0000\u0000\u04d4\u04d5\u0005(\u0000\u0000"+
29978 "\u04d5\u0093\u0001\u0000\u0000\u0000\u04d6\u04d7\u0007\b\u0000\u0000\u04d7"+
29979 "\u0095\u0001\u0000\u0000\u0000\u04d8\u04e0\u0003\u009aM\u0000\u04d9\u04e0"+
29980 "\u0003\u009cN\u0000\u04da\u04e0\u0003\u009eO\u0000\u04db\u04e0\u0003\u00a0"+
29981 "P\u0000\u04dc\u04e0\u0003\u00a2Q\u0000\u04dd\u04e0\u0003\u00a4R\u0000"+
29982 "\u04de\u04e0\u0003\u00a6S\u0000\u04df\u04d8\u0001\u0000\u0000\u0000\u04df"+
29983 "\u04d9\u0001\u0000\u0000\u0000\u04df\u04da\u0001\u0000\u0000\u0000\u04df"+
29984 "\u04db\u0001\u0000\u0000\u0000\u04df\u04dc\u0001\u0000\u0000\u0000\u04df"+
29985 "\u04dd\u0001\u0000\u0000\u0000\u04df\u04de\u0001\u0000\u0000\u0000\u04e0"+
29986 "\u0097\u0001\u0000\u0000\u0000\u04e1\u04e2\u0007\t\u0000\u0000\u04e2\u0099"+
29987 "\u0001\u0000\u0000\u0000\u04e3\u04e5\u0007\n\u0000\u0000\u04e4\u04e3\u0001"+
29988 "\u0000\u0000\u0000\u04e4\u04e5\u0001\u0000\u0000\u0000\u04e5\u04e6\u0001"+
29989 "\u0000\u0000\u0000\u04e6\u04e9\u0003\u0098L\u0000\u04e7\u04e9\u0005\u034d"+
29990 "\u0000\u0000\u04e8\u04e4\u0001\u0000\u0000\u0000\u04e8\u04e7\u0001\u0000"+
29991 "\u0000\u0000\u04e9\u009b\u0001\u0000\u0000\u0000\u04ea\u04ec\u0007\u000b"+
29992 "\u0000\u0000\u04eb\u04ea\u0001\u0000\u0000\u0000\u04eb\u04ec\u0001\u0000"+
29993 "\u0000\u0000\u04ec\u04ed\u0001\u0000\u0000\u0000\u04ed\u04ee\u0005\u034f"+
29994 "\u0000\u0000\u04ee\u009d\u0001\u0000\u0000\u0000\u04ef\u04f0\u0007\f\u0000"+
29995 "\u0000\u04f0\u04f1\u0005\u034a\u0000\u0000\u04f1\u009f\u0001\u0000\u0000"+
29996 "\u0000\u04f2\u04f4\u0005\u034e\u0000\u0000\u04f3\u04f2\u0001\u0000\u0000"+
29997 "\u0000\u04f3\u04f4\u0001\u0000\u0000\u0000\u04f4\u04f5\u0001\u0000\u0000"+
29998 "\u0000\u04f5\u04f7\u0005\u0353\u0000\u0000\u04f6\u04f8\u0003\u01de\u00ef"+
29999 "\u0000\u04f7\u04f6\u0001\u0000\u0000\u0000\u04f7\u04f8\u0001\u0000\u0000"+
30000 "\u0000\u04f8\u00a1\u0001\u0000\u0000\u0000\u04f9\u04fb\u0005\u034e\u0000"+
30001 "\u0000\u04fa\u04f9\u0001\u0000\u0000\u0000\u04fa\u04fb\u0001\u0000\u0000"+
30002 "\u0000\u04fb\u04fc\u0001\u0000\u0000\u0000\u04fc\u04fe\u0005\u0354\u0000"+
30003 "\u0000\u04fd\u04ff\u0003\u01de\u00ef\u0000\u04fe\u04fd\u0001\u0000\u0000"+
30004 "\u0000\u04fe\u04ff\u0001\u0000\u0000\u0000\u04ff\u00a3\u0001\u0000\u0000"+
30005 "\u0000\u0500\u0501\u0007\r\u0000\u0000\u0501\u00a5\u0001\u0000\u0000\u0000"+
30006 "\u0502\u0503\u0005\u01dc\u0000\u0000\u0503\u00a7\u0001\u0000\u0000\u0000"+
30007 "\u0504\u0507\u0003\u00b6[\u0000\u0505\u0507\u0005j\u0000\u0000\u0506\u0504"+
30008 "\u0001\u0000\u0000\u0000\u0506\u0505\u0001\u0000\u0000\u0000\u0507\u00a9"+
30009 "\u0001\u0000\u0000\u0000\u0508\u0513\u0005\u0355\u0000\u0000\u0509\u0513"+
30010 "\u0003\u00acV\u0000\u050a\u0513\u0003\u00aeW\u0000\u050b\u0513\u0003\u00b0"+
30011 "X\u0000\u050c\u0513\u0003\u00b2Y\u0000\u050d\u0513\u0003\u00b4Z\u0000"+
30012 "\u050e\u0513\u0003\u0094J\u0000\u050f\u0513\u0005\u034b\u0000\u0000\u0510"+
30013 "\u0513\u0005\u034e\u0000\u0000\u0511\u0513\u0005\u034c\u0000\u0000\u0512"+
30014 "\u0508\u0001\u0000\u0000\u0000\u0512\u0509\u0001\u0000\u0000\u0000\u0512"+
30015 "\u050a\u0001\u0000\u0000\u0000\u0512\u050b\u0001\u0000\u0000\u0000\u0512"+
30016 "\u050c\u0001\u0000\u0000\u0000\u0512\u050d\u0001\u0000\u0000\u0000\u0512"+
30017 "\u050e\u0001\u0000\u0000\u0000\u0512\u050f\u0001\u0000\u0000\u0000\u0512"+
30018 "\u0510\u0001\u0000\u0000\u0000\u0512\u0511\u0001\u0000\u0000\u0000\u0513"+
30019 "\u00ab\u0001\u0000\u0000\u0000\u0514\u0515\u0007\u000e\u0000\u0000\u0515"+
30020 "\u00ad\u0001\u0000\u0000\u0000\u0516\u0517\u0007\u000f\u0000\u0000\u0517"+
30021 "\u00af\u0001\u0000\u0000\u0000\u0518\u0519\u0007\u0010\u0000\u0000\u0519"+
30022 "\u00b1\u0001\u0000\u0000\u0000\u051a\u051b\u0007\u0011\u0000\u0000\u051b"+
30023 "\u00b3\u0001\u0000\u0000\u0000\u051c\u051d\u0007\u0012\u0000\u0000\u051d"+
30024 "\u00b5\u0001\u0000\u0000\u0000\u051e\u0522\u0003\u00aaU\u0000\u051f\u0522"+
30025 "\u0003\u0098L\u0000\u0520\u0522\u0003\u00b8\\\u0000\u0521\u051e\u0001"+
30026 "\u0000\u0000\u0000\u0521\u051f\u0001\u0000\u0000\u0000\u0521\u0520\u0001"+
30027 "\u0000\u0000\u0000\u0522\u00b7\u0001\u0000\u0000\u0000\u0523\u0524\u0005"+
30028 "\u0356\u0000\u0000\u0524\u00b9\u0001\u0000\u0000\u0000\u0525\u0528\u0003"+
30029 "\u00bc^\u0000\u0526\u0528\u0003\u00be_\u0000\u0527\u0525\u0001\u0000\u0000"+
30030 "\u0000\u0527\u0526\u0001\u0000\u0000\u0000\u0528\u00bb\u0001\u0000\u0000"+
30031 "\u0000\u0529\u052a\u0005)\u0000\u0000\u052a\u052d\u0003\u00b6[\u0000\u052b"+
30032 "\u052d\u0003\u00b6[\u0000\u052c\u0529\u0001\u0000\u0000\u0000\u052c\u052b"+
30033 "\u0001\u0000\u0000\u0000\u052d\u00bd\u0001\u0000\u0000\u0000\u052e\u052f"+
30034 "\u0005)\u0000\u0000\u052f\u0532\u0005)\u0000\u0000\u0530\u0531\u0007\u0013"+
30035 "\u0000\u0000\u0531\u0533\u0005\u0013\u0000\u0000\u0532\u0530\u0001\u0000"+
30036 "\u0000\u0000\u0532\u0533\u0001\u0000\u0000\u0000\u0533\u0534\u0001\u0000"+
30037 "\u0000\u0000\u0534\u0535\u0003\u00c0`\u0000\u0535\u00bf\u0001\u0000\u0000"+
30038 "\u0000\u0536\u053c\u0003\u00b6[\u0000\u0537\u0538\u0003\u00b6[\u0000\u0538"+
30039 "\u0539\u0005\u0013\u0000\u0000\u0539\u053a\u0003\u00aaU\u0000\u053a\u053c"+
30040 "\u0001\u0000\u0000\u0000\u053b\u0536\u0001\u0000\u0000\u0000\u053b\u0537"+
30041 "\u0001\u0000\u0000\u0000\u053c\u00c1\u0001\u0000\u0000\u0000\u053d\u053e"+
30042 "\u0005)\u0000\u0000\u053e\u0542\u0005)\u0000\u0000\u053f\u0540\u0003\u00c4"+
30043 "b\u0000\u0540\u0541\u0005\u0013\u0000\u0000\u0541\u0543\u0001\u0000\u0000"+
30044 "\u0000\u0542\u053f\u0001\u0000\u0000\u0000\u0542\u0543\u0001\u0000\u0000"+
30045 "\u0000\u0543\u0544\u0001\u0000\u0000\u0000\u0544\u0545\u0003\u00c6c\u0000"+
30046 "\u0545\u00c3\u0001\u0000\u0000\u0000\u0546\u0547\u0007\u0012\u0000\u0000"+
30047 "\u0547\u00c5\u0001\u0000\u0000\u0000\u0548\u0551\u0003\u00aaU\u0000\u0549"+
30048 "\u054a\u0005\u00c3\u0000\u0000\u054a\u054b\u0005\u0013\u0000\u0000\u054b"+
30049 "\u0551\u0003\u00aaU\u0000\u054c\u054d\u0003\u00aaU\u0000\u054d\u054e\u0005"+
30050 "\u0013\u0000\u0000\u054e\u054f\u0003\u00aaU\u0000\u054f\u0551\u0001\u0000"+
30051 "\u0000\u0000\u0550\u0548\u0001\u0000\u0000\u0000\u0550\u0549\u0001\u0000"+
30052 "\u0000\u0000\u0550\u054c\u0001\u0000\u0000\u0000\u0551\u00c7\u0001\u0000"+
30053 "\u0000\u0000\u0552\u055a\u0003\u0134\u009a\u0000\u0553\u055a\u0005\u00c3"+
30054 "\u0000\u0000\u0554\u055a\u0005R\u0000\u0000\u0555\u055a\u0005\u01e6\u0000"+
30055 "\u0000\u0556\u055a\u0005j\u0000\u0000\u0557\u055a\u0005\u0263\u0000\u0000"+
30056 "\u0558\u055a\u0005\u02b6\u0000\u0000\u0559\u0552\u0001\u0000\u0000\u0000"+
30057 "\u0559\u0553\u0001\u0000\u0000\u0000\u0559\u0554\u0001\u0000\u0000\u0000"+
30058 "\u0559\u0555\u0001\u0000\u0000\u0000\u0559\u0556\u0001\u0000\u0000\u0000"+
30059 "\u0559\u0557\u0001\u0000\u0000\u0000\u0559\u0558\u0001\u0000\u0000\u0000"+
30060 "\u055a\u00c9\u0001\u0000\u0000\u0000\u055b\u055e\u0003\u00d0h\u0000\u055c"+
30061 "\u055d\u0005$\u0000\u0000\u055d\u055f\u0003\u00ccf\u0000\u055e\u055c\u0001"+
30062 "\u0000\u0000\u0000\u055e\u055f\u0001\u0000\u0000\u0000\u055f\u0566\u0001"+
30063 "\u0000\u0000\u0000\u0560\u0563\u0003\u00ccf\u0000\u0561\u0562\u0005$\u0000"+
30064 "\u0000\u0562\u0564\u0003\u00d0h\u0000\u0563\u0561\u0001\u0000\u0000\u0000"+
30065 "\u0563\u0564\u0001\u0000\u0000\u0000\u0564\u0566\u0001\u0000\u0000\u0000"+
30066 "\u0565\u055b\u0001\u0000\u0000\u0000\u0565\u0560\u0001\u0000\u0000\u0000"+
30067 "\u0566\u00cb\u0001\u0000\u0000\u0000\u0567\u0568\u0005\u015a\u0000\u0000"+
30068 "\u0568\u0569\u0005\u0170\u0000\u0000\u0569\u056a\u0003\u00ceg\u0000\u056a"+
30069 "\u00cd\u0001\u0000\u0000\u0000\u056b\u056c\u0005\u023d\u0000\u0000\u056c"+
30070 "\u0573\u0005\u0224\u0000\u0000\u056d\u056e\u0005\u0224\u0000\u0000\u056e"+
30071 "\u0573\u0005\u0096\u0000\u0000\u056f\u0570\u0005\u0224\u0000\u0000\u0570"+
30072 "\u0573\u0005\u02f1\u0000\u0000\u0571\u0573\u0005\u027a\u0000\u0000\u0572"+
30073 "\u056b\u0001\u0000\u0000\u0000\u0572\u056d\u0001\u0000\u0000\u0000\u0572"+
30074 "\u056f\u0001\u0000\u0000\u0000\u0572\u0571\u0001\u0000\u0000\u0000\u0573"+
30075 "\u00cf\u0001\u0000\u0000\u0000\u0574\u0575\u0005\u0224\u0000\u0000\u0575"+
30076 "\u0576\u0007\u0014\u0000\u0000\u0576\u00d1\u0001\u0000\u0000\u0000\u0577"+
30077 "\u0578\u0003\u00aaU\u0000\u0578\u00d3\u0001\u0000\u0000\u0000\u0579\u057e"+
30078 "\u0003\u00d2i\u0000\u057a\u057b\u0005$\u0000\u0000\u057b\u057d\u0003\u00d2"+
30079 "i\u0000\u057c\u057a\u0001\u0000\u0000\u0000\u057d\u0580\u0001\u0000\u0000"+
30080 "\u0000\u057e\u057c\u0001\u0000\u0000\u0000\u057e\u057f\u0001\u0000\u0000"+
30081 "\u0000\u057f\u00d5\u0001\u0000\u0000\u0000\u0580\u057e\u0001\u0000\u0000"+
30082 "\u0000\u0581\u0585\u0003\u00b6[\u0000\u0582\u0585\u0005j\u0000\u0000\u0583"+
30083 "\u0585\u0005\u00c3\u0000\u0000\u0584\u0581\u0001\u0000\u0000\u0000\u0584"+
30084 "\u0582\u0001\u0000\u0000\u0000\u0584\u0583\u0001\u0000\u0000\u0000\u0585"+
30085 "\u00d7\u0001\u0000\u0000\u0000\u0586\u058b\u0003\u00dam\u0000\u0587\u0588"+
30086 "\u0005$\u0000\u0000\u0588\u058a\u0003\u00dam\u0000\u0589\u0587\u0001\u0000"+
30087 "\u0000\u0000\u058a\u058d\u0001\u0000\u0000\u0000\u058b\u0589\u0001\u0000"+
30088 "\u0000\u0000\u058b\u058c\u0001\u0000\u0000\u0000\u058c\u00d9\u0001\u0000"+
30089 "\u0000\u0000\u058d\u058b\u0001\u0000\u0000\u0000\u058e\u058f\u0005\u001e"+
30090 "\u0000\u0000\u058f\u0590\u0003\u00d2i\u0000\u0590\u0591\u0005$\u0000\u0000"+
30091 "\u0591\u0592\u0003\u00d2i\u0000\u0592\u0593\u0005\u001f\u0000\u0000\u0593"+
30092 "\u00db\u0001\u0000\u0000\u0000\u0594\u0595\u0003\u00fa}\u0000\u0595\u0596"+
30093 "\u0005\u0013\u0000\u0000\u0596\u0598\u0001\u0000\u0000\u0000\u0597\u0594"+
30094 "\u0001\u0000\u0000\u0000\u0597\u0598\u0001\u0000\u0000\u0000\u0598\u0599"+
30095 "\u0001\u0000\u0000\u0000\u0599\u059a\u0003\u00fe\u007f\u0000\u059a\u00dd"+
30096 "\u0001\u0000\u0000\u0000\u059b\u059c\u0003\u00aaU\u0000\u059c\u00df\u0001"+
30097 "\u0000\u0000\u0000\u059d\u059e\u0003\u00aaU\u0000\u059e\u00e1\u0001\u0000"+
30098 "\u0000\u0000\u059f\u05a0\u0003\u00aaU\u0000\u05a0\u00e3\u0001\u0000\u0000"+
30099 "\u0000\u05a1\u05a2\u0003\u00deo\u0000\u05a2\u00e5\u0001\u0000\u0000\u0000"+
30100 "\u05a3\u05a4\u0003\u00deo\u0000\u05a4\u00e7\u0001\u0000\u0000\u0000\u05a5"+
30101 "\u05ae\u0003\u00b6[\u0000\u05a6\u05a7\u0005\u0012\u0000\u0000\u05a7\u05aa"+
30102 "\t\u0000\u0000\u0000\u05a8\u05aa\b\u0015\u0000\u0000\u05a9\u05a6\u0001"+
30103 "\u0000\u0000\u0000\u05a9\u05a8\u0001\u0000\u0000\u0000\u05aa\u05ab\u0001"+
30104 "\u0000\u0000\u0000\u05ab\u05a9\u0001\u0000\u0000\u0000\u05ab\u05ac\u0001"+
30105 "\u0000\u0000\u0000\u05ac\u05ae\u0001\u0000\u0000\u0000\u05ad\u05a5\u0001"+
30106 "\u0000\u0000\u0000\u05ad\u05a9\u0001\u0000\u0000\u0000\u05ae\u00e9\u0001"+
30107 "\u0000\u0000\u0000\u05af\u05b2\u0003\u00b6[\u0000\u05b0\u05b1\u0005)\u0000"+
30108 "\u0000\u05b1\u05b3\u0003\u00b6[\u0000\u05b2\u05b0\u0001\u0000\u0000\u0000"+
30109 "\u05b2\u05b3\u0001\u0000\u0000\u0000\u05b3\u00eb\u0001\u0000\u0000\u0000"+
30110 "\u05b4\u05bb\u0003\u00eau\u0000\u05b5\u05b8\u0005\u00b1\u0000\u0000\u05b6"+
30111 "\u05b7\u0005\u001e\u0000\u0000\u05b7\u05b9\u0005\u001f\u0000\u0000\u05b8"+
30112 "\u05b6\u0001\u0000\u0000\u0000\u05b8\u05b9\u0001\u0000\u0000\u0000\u05b9"+
30113 "\u05bb\u0001\u0000\u0000\u0000\u05ba\u05b4\u0001\u0000\u0000\u0000\u05ba"+
30114 "\u05b5\u0001\u0000\u0000\u0000\u05bb\u00ed\u0001\u0000\u0000\u0000\u05bc"+
30115 "\u05bd\u0003\u00fa}\u0000\u05bd\u05be\u0005\u0013\u0000\u0000\u05be\u05c0"+
30116 "\u0001\u0000\u0000\u0000\u05bf\u05bc\u0001\u0000\u0000\u0000\u05bf\u05c0"+
30117 "\u0001\u0000\u0000\u0000\u05c0\u05c1\u0001\u0000\u0000\u0000\u05c1\u05c2"+
30118 "\u0003\u00aaU\u0000\u05c2\u00ef\u0001\u0000\u0000\u0000\u05c3\u05c4\u0003"+
30119 "\u00b6[\u0000\u05c4\u00f1\u0001\u0000\u0000\u0000\u05c5\u05c6\u0003\u00b6"+
30120 "[\u0000\u05c6\u00f3\u0001\u0000\u0000\u0000\u05c7\u05c8\u0003\u00fa}\u0000"+
30121 "\u05c8\u05c9\u0005\u0013\u0000\u0000\u05c9\u05cb\u0001\u0000\u0000\u0000"+
30122 "\u05ca\u05c7\u0001\u0000\u0000\u0000\u05ca\u05cb\u0001\u0000\u0000\u0000"+
30123 "\u05cb\u05cc\u0001\u0000\u0000\u0000\u05cc\u05cd\u0003\u00aaU\u0000\u05cd"+
30124 "\u00f5\u0001\u0000\u0000\u0000\u05ce\u05cf\u0003\u00fa}\u0000\u05cf\u05d0"+
30125 "\u0005\u0013\u0000\u0000\u05d0\u05d2\u0001\u0000\u0000\u0000\u05d1\u05ce"+
30126 "\u0001\u0000\u0000\u0000\u05d1\u05d2\u0001\u0000\u0000\u0000\u05d2\u05d3"+
30127 "\u0001\u0000\u0000\u0000\u05d3\u05d4\u0003\u00aaU\u0000\u05d4\u00f7\u0001"+
30128 "\u0000\u0000\u0000\u05d5\u05d6\u0003\u00fa}\u0000\u05d6\u05d7\u0005\u0013"+
30129 "\u0000\u0000\u05d7\u05d9\u0001\u0000\u0000\u0000\u05d8\u05d5\u0001\u0000"+
30130 "\u0000\u0000\u05d8\u05d9\u0001\u0000\u0000\u0000\u05d9\u05da\u0001\u0000"+
30131 "\u0000\u0000\u05da\u05db\u0003\u00aaU\u0000\u05db\u00f9\u0001\u0000\u0000"+
30132 "\u0000\u05dc\u05dd\u0003\u00aaU\u0000\u05dd\u00fb\u0001\u0000\u0000\u0000"+
30133 "\u05de\u05df\u0003\u00b6[\u0000\u05df\u00fd\u0001\u0000\u0000\u0000\u05e0"+
30134 "\u05e1\u0003\u00aaU\u0000\u05e1\u00ff\u0001\u0000\u0000\u0000\u05e2\u05e7"+
30135 "\u0003\u00dcn\u0000\u05e3\u05e4\u0005$\u0000\u0000\u05e4\u05e6\u0003\u00dc"+
30136 "n\u0000\u05e5\u05e3\u0001\u0000\u0000\u0000\u05e6\u05e9\u0001\u0000\u0000"+
30137 "\u0000\u05e7\u05e5\u0001\u0000\u0000\u0000\u05e7\u05e8\u0001\u0000\u0000"+
30138 "\u0000\u05e8\u0101\u0001\u0000\u0000\u0000\u05e9\u05e7\u0001\u0000\u0000"+
30139 "\u0000\u05ea\u05ef\u0003\u00f8|\u0000\u05eb\u05ec\u0005$\u0000\u0000\u05ec"+
30140 "\u05ee\u0003\u00f8|\u0000\u05ed\u05eb\u0001\u0000\u0000\u0000\u05ee\u05f1"+
30141 "\u0001\u0000\u0000\u0000\u05ef\u05ed\u0001\u0000\u0000\u0000\u05ef\u05f0"+
30142 "\u0001\u0000\u0000\u0000\u05f0\u0103\u0001\u0000\u0000\u0000\u05f1\u05ef"+
30143 "\u0001\u0000\u0000\u0000\u05f2\u05f7\u0003\u00deo\u0000\u05f3\u05f4\u0005"+
30144 "$\u0000\u0000\u05f4\u05f6\u0003\u00deo\u0000\u05f5\u05f3\u0001\u0000\u0000"+
30145 "\u0000\u05f6\u05f9\u0001\u0000\u0000\u0000\u05f7\u05f5\u0001\u0000\u0000"+
30146 "\u0000\u05f7\u05f8\u0001\u0000\u0000\u0000\u05f8\u0105\u0001\u0000\u0000"+
30147 "\u0000\u05f9\u05f7\u0001\u0000\u0000\u0000\u05fa\u05fb\u0003\u00aaU\u0000"+
30148 "\u05fb\u0107\u0001\u0000\u0000\u0000\u05fc\u05fd\u0003\u00aaU\u0000\u05fd"+
30149 "\u0109\u0001\u0000\u0000\u0000\u05fe\u05ff\u0003\u009aM\u0000\u05ff\u010b"+
30150 "\u0001\u0000\u0000\u0000\u0600\u0601\u0003\u0098L\u0000\u0601\u010d\u0001"+
30151 "\u0000\u0000\u0000\u0602\u0603\u0003\u00b6[\u0000\u0603\u010f\u0001\u0000"+
30152 "\u0000\u0000\u0604\u0605\u0003\u0098L\u0000\u0605\u0111\u0001\u0000\u0000"+
30153 "\u0000\u0606\u0607\u0005\u034f\u0000\u0000\u0607\u0113\u0001\u0000\u0000"+
30154 "\u0000\u0608\u0609\u0003\u00ecv\u0000\u0609\u060a\u0005)\u0000\u0000\u060a"+
30155 "\u060b\u0003\u0110\u0088\u0000\u060b\u060c\u0005\r\u0000\u0000\u060c\u060d"+
30156 "\u0003\u0112\u0089\u0000\u060d\u0115\u0001\u0000\u0000\u0000\u060e\u060f"+
30157 "\u0003\u0098L\u0000\u060f\u0117\u0001\u0000\u0000\u0000\u0610\u0613\u0003"+
30158 "\u00aaU\u0000\u0611\u0612\u0005\u0013\u0000\u0000\u0612\u0614\u0003\u00aa"+
30159 "U\u0000\u0613\u0611\u0001\u0000\u0000\u0000\u0613\u0614\u0001\u0000\u0000"+
30160 "\u0000\u0614\u0119\u0001\u0000\u0000\u0000\u0615\u0616\u0003\u009aM\u0000"+
30161 "\u0616\u011b\u0001\u0000\u0000\u0000\u0617\u061a\u0003\u011e\u008f\u0000"+
30162 "\u0618\u0619\u0005)\u0000\u0000\u0619\u061b\u0003\u00b6[\u0000\u061a\u0618"+
30163 "\u0001\u0000\u0000\u0000\u061a\u061b\u0001\u0000\u0000\u0000\u061b\u011d"+
30164 "\u0001\u0000\u0000\u0000\u061c\u061f\u0003\u00aaU\u0000\u061d\u061f\u0003"+
30165 "\u0098L\u0000\u061e\u061c\u0001\u0000\u0000\u0000\u061e\u061d\u0001\u0000"+
30166 "\u0000\u0000\u061f\u011f\u0001\u0000\u0000\u0000\u0620\u0621\u0003\u00b6"+
30167 "[\u0000\u0621\u0121\u0001\u0000\u0000\u0000\u0622\u0625\u0003\u00aaU\u0000"+
30168 "\u0623\u0624\u0005\u0013\u0000\u0000\u0624\u0626\u0003\u00aaU\u0000\u0625"+
30169 "\u0623\u0001\u0000\u0000\u0000\u0625\u0626\u0001\u0000\u0000\u0000\u0626"+
30170 "\u0123\u0001\u0000\u0000\u0000\u0627\u0628\u0007\u0016\u0000\u0000\u0628"+
30171 "\u0125\u0001\u0000\u0000\u0000\u0629\u062a\u0007\u0017\u0000\u0000\u062a"+
30172 "\u0127\u0001\u0000\u0000\u0000\u062b\u062e\u0003\u00ecv\u0000\u062c\u062e"+
30173 "\u0003\u011c\u008e\u0000\u062d\u062b\u0001\u0000\u0000\u0000\u062d\u062c"+
30174 "\u0001\u0000\u0000\u0000\u062e\u0129\u0001\u0000\u0000\u0000\u062f\u0630"+
30175 "\u0003\u00aaU\u0000\u0630\u012b\u0001\u0000\u0000\u0000\u0631\u0636\u0003"+
30176 "\u00aaU\u0000\u0632\u0633\u0005$\u0000\u0000\u0633\u0635\u0003\u00aaU"+
30177 "\u0000\u0634\u0632\u0001\u0000\u0000\u0000\u0635\u0638\u0001\u0000\u0000"+
30178 "\u0000\u0636\u0634\u0001\u0000\u0000\u0000\u0636\u0637\u0001\u0000\u0000"+
30179 "\u0000\u0637\u012d\u0001\u0000\u0000\u0000\u0638\u0636\u0001\u0000\u0000"+
30180 "\u0000\u0639\u063c\u0005R\u0000\u0000\u063a\u063c\u0003\u012c\u0096\u0000"+
30181 "\u063b\u0639\u0001\u0000\u0000\u0000\u063b\u063a\u0001\u0000\u0000\u0000"+
30182 "\u063c\u012f\u0001\u0000\u0000\u0000\u063d\u063e\u0007\u0018\u0000\u0000"+
30183 "\u063e\u0131\u0001\u0000\u0000\u0000\u063f\u0640\u0007\u0019\u0000\u0000"+
30184 "\u0640\u0641\u0003\u0122\u0091\u0000\u0641\u0133\u0001\u0000\u0000\u0000"+
30185 "\u0642\u0643\u0006\u009a\uffff\uffff\u0000\u0643\u0648\u0003\u013c\u009e"+
30186 "\u0000\u0644\u0645\u0003\u013a\u009d\u0000\u0645\u0646\u0003\u0134\u009a"+
30187 "\u0001\u0646\u0648\u0001\u0000\u0000\u0000\u0647\u0642\u0001\u0000\u0000"+
30188 "\u0000\u0647\u0644\u0001\u0000\u0000\u0000\u0648\u0656\u0001\u0000\u0000"+
30189 "\u0000\u0649\u064a\n\u0004\u0000\u0000\u064a\u064b\u0003\u0136\u009b\u0000"+
30190 "\u064b\u064c\u0003\u0134\u009a\u0005\u064c\u0655\u0001\u0000\u0000\u0000"+
30191 "\u064d\u064e\n\u0003\u0000\u0000\u064e\u064f\u0003\u0138\u009c\u0000\u064f"+
30192 "\u0650\u0003\u0134\u009a\u0004\u0650\u0655\u0001\u0000\u0000\u0000\u0651"+
30193 "\u0652\n\u0002\u0000\u0000\u0652\u0653\u0005\u0328\u0000\u0000\u0653\u0655"+
30194 "\u0003\u0134\u009a\u0003\u0654\u0649\u0001\u0000\u0000\u0000\u0654\u064d"+
30195 "\u0001\u0000\u0000\u0000\u0654\u0651\u0001\u0000\u0000\u0000\u0655\u0658"+
30196 "\u0001\u0000\u0000\u0000\u0656\u0654\u0001\u0000\u0000\u0000\u0656\u0657"+
30197 "\u0001\u0000\u0000\u0000\u0657\u0135\u0001\u0000\u0000\u0000\u0658\u0656"+
30198 "\u0001\u0000\u0000\u0000\u0659\u065a\u0007\u001a\u0000\u0000\u065a\u0137"+
30199 "\u0001\u0000\u0000\u0000\u065b\u065c\u0007\u001b\u0000\u0000\u065c\u0139"+
30200 "\u0001\u0000\u0000\u0000\u065d\u065e\u0007\u001c\u0000\u0000\u065e\u013b"+
30201 "\u0001\u0000\u0000\u0000\u065f\u0660\u0006\u009e\uffff\uffff\u0000\u0660"+
30202 "\u0661\u0003\u0142\u00a1\u0000\u0661\u0681\u0001\u0000\u0000\u0000\u0662"+
30203 "\u0663\n\u0007\u0000\u0000\u0663\u0665\u0005\u0159\u0000\u0000\u0664\u0666"+
30204 "\u0005\u01d6\u0000\u0000\u0665\u0664\u0001\u0000\u0000\u0000\u0665\u0666"+
30205 "\u0001\u0000\u0000\u0000\u0666\u0667\u0001\u0000\u0000\u0000\u0667\u0680"+
30206 "\u0007\u001d\u0000\u0000\u0668\u0669\n\u0006\u0000\u0000\u0669\u066a\u0005"+
30207 "\u0015\u0000\u0000\u066a\u0680\u0003\u0142\u00a1\u0000\u066b\u066c\n\u0005"+
30208 "\u0000\u0000\u066c\u066d\u0005\u01af\u0000\u0000\u066d\u066e\u0005\u01e1"+
30209 "\u0000\u0000\u066e\u066f\u0005\u001e\u0000\u0000\u066f\u0670\u0003\u0134"+
30210 "\u009a\u0000\u0670\u0671\u0005\u001f\u0000\u0000\u0671\u0680\u0001\u0000"+
30211 "\u0000\u0000\u0672\u0673\n\u0004\u0000\u0000\u0673\u0674\u0003\u0140\u00a0"+
30212 "\u0000\u0674\u0675\u0003\u0142\u00a1\u0000\u0675\u0680\u0001\u0000\u0000"+
30213 "\u0000\u0676\u0677\n\u0003\u0000\u0000\u0677\u0678\u0003\u0140\u00a0\u0000"+
30214 "\u0678\u0679\u0007\u001e\u0000\u0000\u0679\u067a\u0003|>\u0000\u067a\u0680"+
30215 "\u0001\u0000\u0000\u0000\u067b\u067c\n\u0002\u0000\u0000\u067c\u067d\u0003"+
30216 "\u013e\u009f\u0000\u067d\u067e\u0003\u0142\u00a1\u0000\u067e\u0680\u0001"+
30217 "\u0000\u0000\u0000\u067f\u0662\u0001\u0000\u0000\u0000\u067f\u0668\u0001"+
30218 "\u0000\u0000\u0000\u067f\u066b\u0001\u0000\u0000\u0000\u067f\u0672\u0001"+
30219 "\u0000\u0000\u0000\u067f\u0676\u0001\u0000\u0000\u0000\u067f\u067b\u0001"+
30220 "\u0000\u0000\u0000\u0680\u0683\u0001\u0000\u0000\u0000\u0681\u067f\u0001"+
30221 "\u0000\u0000\u0000\u0681\u0682\u0001\u0000\u0000\u0000\u0682\u013d\u0001"+
30222 "\u0000\u0000\u0000\u0683\u0681\u0001\u0000\u0000\u0000\u0684\u0685\u0007"+
30223 "\u001f\u0000\u0000\u0685\u013f\u0001\u0000\u0000\u0000\u0686\u0687\u0007"+
30224 " \u0000\u0000\u0687\u0141\u0001\u0000\u0000\u0000\u0688\u068a\u0003\u0144"+
30225 "\u00a2\u0000\u0689\u068b\u0005\u01d6\u0000\u0000\u068a\u0689\u0001\u0000"+
30226 "\u0000\u0000\u068a\u068b\u0001\u0000\u0000\u0000\u068b\u068c\u0001\u0000"+
30227 "\u0000\u0000\u068c\u068d\u0005\u013d\u0000\u0000\u068d\u068e\u0003|>\u0000"+
30228 "\u068e\u06c0\u0001\u0000\u0000\u0000\u068f\u0691\u0003\u0144\u00a2\u0000"+
30229 "\u0690\u0692\u0005\u01d6\u0000\u0000\u0691\u0690\u0001\u0000\u0000\u0000"+
30230 "\u0691\u0692\u0001\u0000\u0000\u0000\u0692\u0693\u0001\u0000\u0000\u0000"+
30231 "\u0693\u0694\u0005\u013d\u0000\u0000\u0694\u0695\u0005\u001e\u0000\u0000"+
30232 "\u0695\u069a\u0003\u0134\u009a\u0000\u0696\u0697\u0005$\u0000\u0000\u0697"+
30233 "\u0699\u0003\u0134\u009a\u0000\u0698\u0696\u0001\u0000\u0000\u0000\u0699"+
30234 "\u069c\u0001\u0000\u0000\u0000\u069a\u0698\u0001\u0000\u0000\u0000\u069a"+
30235 "\u069b\u0001\u0000\u0000\u0000\u069b\u069d\u0001\u0000\u0000\u0000\u069c"+
30236 "\u069a\u0001\u0000\u0000\u0000\u069d\u069e\u0005\u001f\u0000\u0000\u069e"+
30237 "\u06c0\u0001\u0000\u0000\u0000\u069f\u06a1\u0003\u0144\u00a2\u0000\u06a0"+
30238 "\u06a2\u0005\u01d6\u0000\u0000\u06a1\u06a0\u0001\u0000\u0000\u0000\u06a1"+
30239 "\u06a2\u0001\u0000\u0000\u0000\u06a2\u06a3\u0001\u0000\u0000\u0000\u06a3"+
30240 "\u06a4\u0005h\u0000\u0000\u06a4\u06a5\u0003\u0144\u00a2\u0000\u06a5\u06a6"+
30241 "\u0005V\u0000\u0000\u06a6\u06a7\u0003\u0142\u00a1\u0000\u06a7\u06c0\u0001"+
30242 "\u0000\u0000\u0000\u06a8\u06a9\u0003\u0144\u00a2\u0000\u06a9\u06aa\u0005"+
30243 "\u028d\u0000\u0000\u06aa\u06ab\u0005\u0171\u0000\u0000\u06ab\u06ac\u0003"+
30244 "\u0144\u00a2\u0000\u06ac\u06c0\u0001\u0000\u0000\u0000\u06ad\u06af\u0003"+
30245 "\u0144\u00a2\u0000\u06ae\u06b0\u0005\u01d6\u0000\u0000\u06af\u06ae\u0001"+
30246 "\u0000\u0000\u0000\u06af\u06b0\u0001\u0000\u0000\u0000\u06b0\u06b1\u0001"+
30247 "\u0000\u0000\u0000\u06b1\u06b2\u0005\u0171\u0000\u0000\u06b2\u06b5\u0003"+
30248 "\u0146\u00a3\u0000\u06b3\u06b4\u0005\u00ee\u0000\u0000\u06b4\u06b6\u0003"+
30249 "\u0146\u00a3\u0000\u06b5\u06b3\u0001\u0000\u0000\u0000\u06b5\u06b6\u0001"+
30250 "\u0000\u0000\u0000\u06b6\u06c0\u0001\u0000\u0000\u0000\u06b7\u06b9\u0003"+
30251 "\u0144\u00a2\u0000\u06b8\u06ba\u0005\u01d6\u0000\u0000\u06b9\u06b8\u0001"+
30252 "\u0000\u0000\u0000\u06b9\u06ba\u0001\u0000\u0000\u0000\u06ba\u06bb\u0001"+
30253 "\u0000\u0000\u0000\u06bb\u06bc\u0007!\u0000\u0000\u06bc\u06bd\u0003\u0144"+
30254 "\u00a2\u0000\u06bd\u06c0\u0001\u0000\u0000\u0000\u06be\u06c0\u0003\u0144"+
30255 "\u00a2\u0000\u06bf\u0688\u0001\u0000\u0000\u0000\u06bf\u068f\u0001\u0000"+
30256 "\u0000\u0000\u06bf\u069f\u0001\u0000\u0000\u0000\u06bf\u06a8\u0001\u0000"+
30257 "\u0000\u0000\u06bf\u06ad\u0001\u0000\u0000\u0000\u06bf\u06b7\u0001\u0000"+
30258 "\u0000\u0000\u06bf\u06be\u0001\u0000\u0000\u0000\u06c0\u0143\u0001\u0000"+
30259 "\u0000\u0000\u06c1\u06c2\u0006\u00a2\uffff\uffff\u0000\u06c2\u06c3\u0003"+
30260 "\u0146\u00a3\u0000\u06c3\u06f0\u0001\u0000\u0000\u0000\u06c4\u06c5\n\u000f"+
30261 "\u0000\u0000\u06c5\u06c6\u0005\u0007\u0000\u0000\u06c6\u06ef\u0003\u0144"+
30262 "\u00a2\u0010\u06c7\u06c8\n\u000e\u0000\u0000\u06c8\u06c9\u0005\b\u0000"+
30263 "\u0000\u06c9\u06ef\u0003\u0144\u00a2\u000f\u06ca\u06cb\n\r\u0000\u0000"+
30264 "\u06cb\u06cc\u0005\t\u0000\u0000\u06cc\u06ef\u0003\u0144\u00a2\u000e\u06cd"+
30265 "\u06ce\n\f\u0000\u0000\u06ce\u06cf\u0005\n\u0000\u0000\u06cf\u06ef\u0003"+
30266 "\u0144\u00a2\r\u06d0\u06d1\n\u000b\u0000\u0000\u06d1\u06d2\u0005\u000e"+
30267 "\u0000\u0000\u06d2\u06ef\u0003\u0144\u00a2\f\u06d3\u06d4\n\n\u0000\u0000"+
30268 "\u06d4\u06d5\u0005\u000f\u0000\u0000\u06d5\u06ef\u0003\u0144\u00a2\u000b"+
30269 "\u06d6\u06d7\n\t\u0000\u0000\u06d7\u06d8\u0005\u0010\u0000\u0000\u06d8"+
30270 "\u06ef\u0003\u0144\u00a2\n\u06d9\u06da\n\b\u0000\u0000\u06da\u06db\u0005"+
30271 "\u0011\u0000\u0000\u06db\u06ef\u0003\u0144\u00a2\t\u06dc\u06dd\n\u0007"+
30272 "\u0000\u0000\u06dd\u06de\u0005\u00d6\u0000\u0000\u06de\u06ef\u0003\u0144"+
30273 "\u00a2\b\u06df\u06e0\n\u0006\u0000\u0000\u06e0\u06e1\u0005\u01ba\u0000"+
30274 "\u0000\u06e1\u06ef\u0003\u0144\u00a2\u0007\u06e2\u06e3\n\u0005\u0000\u0000"+
30275 "\u06e3\u06e4\u0005\f\u0000\u0000\u06e4\u06ef\u0003\u0144\u00a2\u0006\u06e5"+
30276 "\u06e6\n\u0004\u0000\u0000\u06e6\u06e7\u0005\u000b\u0000\u0000\u06e7\u06ef"+
30277 "\u0003\u0144\u00a2\u0005\u06e8\u06e9\n\u0003\u0000\u0000\u06e9\u06ea\u0005"+
30278 "\u000e\u0000\u0000\u06ea\u06ef\u0003\u01aa\u00d5\u0000\u06eb\u06ec\n\u0002"+
30279 "\u0000\u0000\u06ec\u06ed\u0005\u000f\u0000\u0000\u06ed\u06ef\u0003\u01aa"+
30280 "\u00d5\u0000\u06ee\u06c4\u0001\u0000\u0000\u0000\u06ee\u06c7\u0001\u0000"+
30281 "\u0000\u0000\u06ee\u06ca\u0001\u0000\u0000\u0000\u06ee\u06cd\u0001\u0000"+
30282 "\u0000\u0000\u06ee\u06d0\u0001\u0000\u0000\u0000\u06ee\u06d3\u0001\u0000"+
30283 "\u0000\u0000\u06ee\u06d6\u0001\u0000\u0000\u0000\u06ee\u06d9\u0001\u0000"+
30284 "\u0000\u0000\u06ee\u06dc\u0001\u0000\u0000\u0000\u06ee\u06df\u0001\u0000"+
30285 "\u0000\u0000\u06ee\u06e2\u0001\u0000\u0000\u0000\u06ee\u06e5\u0001\u0000"+
30286 "\u0000\u0000\u06ee\u06e8\u0001\u0000\u0000\u0000\u06ee\u06eb\u0001\u0000"+
30287 "\u0000\u0000\u06ef\u06f2\u0001\u0000\u0000\u0000\u06f0\u06ee\u0001\u0000"+
30288 "\u0000\u0000\u06f0\u06f1\u0001\u0000\u0000\u0000\u06f1\u0145\u0001\u0000"+
30289 "\u0000\u0000\u06f2\u06f0\u0001\u0000\u0000\u0000\u06f3\u06f4\u0006\u00a3"+
30290 "\uffff\uffff\u0000\u06f4\u0728\u0003\u0150\u00a8\u0000\u06f5\u0728\u0003"+
30291 "\u0092I\u0000\u06f6\u0728\u0003\u0096K\u0000\u06f7\u0728\u0003\u014c\u00a6"+
30292 "\u0000\u06f8\u0728\u0003\u00ba]\u0000\u06f9\u06ff\u0005\u000e\u0000\u0000"+
30293 "\u06fa\u06ff\u0005\u000f\u0000\u0000\u06fb\u06ff\u0005\u0006\u0000\u0000"+
30294 "\u06fc\u06ff\u0003\u013a\u009d\u0000\u06fd\u06ff\u0005j\u0000\u0000\u06fe"+
30295 "\u06f9\u0001\u0000\u0000\u0000\u06fe\u06fa\u0001\u0000\u0000\u0000\u06fe"+
30296 "\u06fb\u0001\u0000\u0000\u0000\u06fe\u06fc\u0001\u0000\u0000\u0000\u06fe"+
30297 "\u06fd\u0001\u0000\u0000\u0000\u06ff\u0700\u0001\u0000\u0000\u0000\u0700"+
30298 "\u0728\u0003\u0146\u00a3\t\u0701\u0703\u0005\u0263\u0000\u0000\u0702\u0701"+
30299 "\u0001\u0000\u0000\u0000\u0702\u0703\u0001\u0000\u0000\u0000\u0703\u0704"+
30300 "\u0001\u0000\u0000\u0000\u0704\u0705\u0005\u001e\u0000\u0000\u0705\u070a"+
30301 "\u0003\u0134\u009a\u0000\u0706\u0707\u0005$\u0000\u0000\u0707\u0709\u0003"+
30302 "\u0134\u009a\u0000\u0708\u0706\u0001\u0000\u0000\u0000\u0709\u070c\u0001"+
30303 "\u0000\u0000\u0000\u070a\u0708\u0001\u0000\u0000\u0000\u070a\u070b\u0001"+
30304 "\u0000\u0000\u0000\u070b\u070d\u0001\u0000\u0000\u0000\u070c\u070a\u0001"+
30305 "\u0000\u0000\u0000\u070d\u070e\u0005\u001f\u0000\u0000\u070e\u0728\u0001"+
30306 "\u0000\u0000\u0000\u070f\u0711\u0005\u00f7\u0000\u0000\u0710\u070f\u0001"+
30307 "\u0000\u0000\u0000\u0710\u0711\u0001\u0000\u0000\u0000\u0711\u0712\u0001"+
30308 "\u0000\u0000\u0000\u0712\u0728\u0003|>\u0000\u0713\u0714\u0005 \u0000"+
30309 "\u0000\u0714\u0715\u0003\u00aaU\u0000\u0715\u0716\u0003\u0134\u009a\u0000"+
30310 "\u0716\u0717\u0005!\u0000\u0000\u0717\u0728\u0001\u0000\u0000\u0000\u0718"+
30311 "\u0719\u0003\u00aaU\u0000\u0719\u071a\u0007\"\u0000\u0000\u071a\u071b"+
30312 "\u0003\u0098L\u0000\u071b\u0728\u0001\u0000\u0000\u0000\u071c\u071f\u0003"+
30313 "\u0148\u00a4\u0000\u071d\u071e\u0005\u0257\u0000\u0000\u071e\u0720\u0003"+
30314 "\u01b4\u00da\u0000\u071f\u071d\u0001\u0000\u0000\u0000\u071f\u0720\u0001"+
30315 "\u0000\u0000\u0000\u0720\u0722\u0001\u0000\u0000\u0000\u0721\u0723\u0003"+
30316 "\u014a\u00a5\u0000\u0722\u0721\u0001\u0000\u0000\u0000\u0722\u0723\u0001"+
30317 "\u0000\u0000\u0000\u0723\u0728\u0001\u0000\u0000\u0000\u0724\u0728\u0003"+
30318 "\u019c\u00ce\u0000\u0725\u0728\u0003\u01a0\u00d0\u0000\u0726\u0728\u0003"+
30319 "\u01aa\u00d5\u0000\u0727\u06f3\u0001\u0000\u0000\u0000\u0727\u06f5\u0001"+
30320 "\u0000\u0000\u0000\u0727\u06f6\u0001\u0000\u0000\u0000\u0727\u06f7\u0001"+
30321 "\u0000\u0000\u0000\u0727\u06f8\u0001\u0000\u0000\u0000\u0727\u06fe\u0001"+
30322 "\u0000\u0000\u0000\u0727\u0702\u0001\u0000\u0000\u0000\u0727\u0710\u0001"+
30323 "\u0000\u0000\u0000\u0727\u0713\u0001\u0000\u0000\u0000\u0727\u0718\u0001"+
30324 "\u0000\u0000\u0000\u0727\u071c\u0001\u0000\u0000\u0000\u0727\u0724\u0001"+
30325 "\u0000\u0000\u0000\u0727\u0725\u0001\u0000\u0000\u0000\u0727\u0726\u0001"+
30326 "\u0000\u0000\u0000\u0728\u0730\u0001\u0000\u0000\u0000\u0729\u072a\n\n"+
30327 "\u0000\u0000\u072a\u072b\u0005\u0004\u0000\u0000\u072b\u072f\u0003\u0146"+
30328 "\u00a3\u000b\u072c\u072d\n\f\u0000\u0000\u072d\u072f\u0003\u01de\u00ef"+
30329 "\u0000\u072e\u0729\u0001\u0000\u0000\u0000\u072e\u072c\u0001\u0000\u0000"+
30330 "\u0000\u072f\u0732\u0001\u0000\u0000\u0000\u0730\u072e\u0001\u0000\u0000"+
30331 "\u0000\u0730\u0731\u0001\u0000\u0000\u0000\u0731\u0147\u0001\u0000\u0000"+
30332 "\u0000\u0732\u0730\u0001\u0000\u0000\u0000\u0733\u0734\u0003\u0098L\u0000"+
30333 "\u0734\u0149\u0001\u0000\u0000\u0000\u0735\u073a\u0005\u01dc\u0000\u0000"+
30334 "\u0736\u073a\u0005\u00ec\u0000\u0000\u0737\u0738\u0005\u00c3\u0000\u0000"+
30335 "\u0738\u073a\u0003\u0096K\u0000\u0739\u0735\u0001\u0000\u0000\u0000\u0739"+
30336 "\u0736\u0001\u0000\u0000\u0000\u0739\u0737\u0001\u0000\u0000\u0000\u073a"+
30337 "\u073b\u0001\u0000\u0000\u0000\u073b\u073c\u0005\u01e6\u0000\u0000\u073c"+
30338 "\u073d\u0007#\u0000\u0000\u073d\u014b\u0001\u0000\u0000\u0000\u073e\u0741"+
30339 "\u0003\u00aaU\u0000\u073f\u0740\u0005\u0013\u0000\u0000\u0740\u0742\u0003"+
30340 "\u00aaU\u0000\u0741\u073f\u0001\u0000\u0000\u0000\u0741\u0742\u0001\u0000"+
30341 "\u0000\u0000\u0742\u0745\u0001\u0000\u0000\u0000\u0743\u0744\u0005\u0013"+
30342 "\u0000\u0000\u0744\u0746\u0003\u00aaU\u0000\u0745\u0743\u0001\u0000\u0000"+
30343 "\u0000\u0745\u0746\u0001\u0000\u0000\u0000\u0746\u014d\u0001\u0000\u0000"+
30344 "\u0000\u0747\u074c\u0003\u014c\u00a6\u0000\u0748\u0749\u0005$\u0000\u0000"+
30345 "\u0749\u074b\u0003\u014c\u00a6\u0000\u074a\u0748\u0001\u0000\u0000\u0000"+
30346 "\u074b\u074e\u0001\u0000\u0000\u0000\u074c\u074a\u0001\u0000\u0000\u0000"+
30347 "\u074c\u074d\u0001\u0000\u0000\u0000\u074d\u014f\u0001\u0000\u0000\u0000"+
30348 "\u074e\u074c\u0001\u0000\u0000\u0000\u074f\u0755\u0003\u0154\u00aa\u0000"+
30349 "\u0750\u0755\u0003\u016a\u00b5\u0000\u0751\u0755\u0003\u0194\u00ca\u0000"+
30350 "\u0752\u0755\u0003\u0156\u00ab\u0000\u0753\u0755\u0003\u0152\u00a9\u0000"+
30351 "\u0754\u074f\u0001\u0000\u0000\u0000\u0754\u0750\u0001\u0000\u0000\u0000"+
30352 "\u0754\u0751\u0001\u0000\u0000\u0000\u0754\u0752\u0001\u0000\u0000\u0000"+
30353 "\u0754\u0753\u0001\u0000\u0000\u0000\u0755\u0151\u0001\u0000\u0000\u0000"+
30354 "\u0756\u0757\u0003\u00f4z\u0000\u0757\u0763\u0005\u001e\u0000\u0000\u0758"+
30355 "\u075a\u0003\u0134\u009a\u0000\u0759\u0758\u0001\u0000\u0000\u0000\u0759"+
30356 "\u075a\u0001\u0000\u0000\u0000\u075a\u0764\u0001\u0000\u0000\u0000\u075b"+
30357 "\u0760\u0003\u0134\u009a\u0000\u075c\u075d\u0005$\u0000\u0000\u075d\u075f"+
30358 "\u0003\u0134\u009a\u0000\u075e\u075c\u0001\u0000\u0000\u0000\u075f\u0762"+
30359 "\u0001\u0000\u0000\u0000\u0760\u075e\u0001\u0000\u0000\u0000\u0760\u0761"+
30360 "\u0001\u0000\u0000\u0000\u0761\u0764\u0001\u0000\u0000\u0000\u0762\u0760"+
30361 "\u0001\u0000\u0000\u0000\u0763\u0759\u0001\u0000\u0000\u0000\u0763\u075b"+
30362 "\u0001\u0000\u0000\u0000\u0764\u0765\u0001\u0000\u0000\u0000\u0765\u0766"+
30363 "\u0005\u001f\u0000\u0000\u0766\u0153\u0001\u0000\u0000\u0000\u0767\u0768"+
30364 "\u0003\u015a\u00ad\u0000\u0768\u076a\u0005\u001e\u0000\u0000\u0769\u076b"+
30365 "\u0003\u015c\u00ae\u0000\u076a\u0769\u0001\u0000\u0000\u0000\u076a\u076b"+
30366 "\u0001\u0000\u0000\u0000\u076b\u0775\u0001\u0000\u0000\u0000\u076c\u0771"+
30367 "\u0003\u0134\u009a\u0000\u076d\u076e\u0005$\u0000\u0000\u076e\u0770\u0003"+
30368 "\u0134\u009a\u0000\u076f\u076d\u0001\u0000\u0000\u0000\u0770\u0773\u0001"+
30369 "\u0000\u0000\u0000\u0771\u076f\u0001\u0000\u0000\u0000\u0771\u0772\u0001"+
30370 "\u0000\u0000\u0000\u0772\u0776\u0001\u0000\u0000\u0000\u0773\u0771\u0001"+
30371 "\u0000\u0000\u0000\u0774\u0776\u0005\u0010\u0000\u0000\u0775\u076c\u0001"+
30372 "\u0000\u0000\u0000\u0775\u0774\u0001\u0000\u0000\u0000\u0775\u0776\u0001"+
30373 "\u0000\u0000\u0000\u0776\u0778\u0001\u0000\u0000\u0000\u0777\u0779\u0003"+
30374 "\u01de\u00ef\u0000\u0778\u0777\u0001\u0000\u0000\u0000\u0778\u0779\u0001"+
30375 "\u0000\u0000\u0000\u0779\u077a\u0001\u0000\u0000\u0000\u077a\u077c\u0005"+
30376 "\u001f\u0000\u0000\u077b\u077d\u0003\u015e\u00af\u0000\u077c\u077b\u0001"+
30377 "\u0000\u0000\u0000\u077c\u077d\u0001\u0000\u0000\u0000\u077d\u0155\u0001"+
30378 "\u0000\u0000\u0000\u077e\u077f\u0003\u014c\u00a6\u0000\u077f\u0780\u0007"+
30379 "\"\u0000\u0000\u0780\u0781\u0003\u0148\u00a4\u0000\u0781\u0794\u0001\u0000"+
30380 "\u0000\u0000\u0782\u0783\u0003\u0158\u00ac\u0000\u0783\u078f\u0005\u001e"+
30381 "\u0000\u0000\u0784\u0786\u0003\u0134\u009a\u0000\u0785\u0784\u0001\u0000"+
30382 "\u0000\u0000\u0785\u0786\u0001\u0000\u0000\u0000\u0786\u0790\u0001\u0000"+
30383 "\u0000\u0000\u0787\u078c\u0003\u0134\u009a\u0000\u0788\u0789\u0005$\u0000"+
30384 "\u0000\u0789\u078b\u0003\u0134\u009a\u0000\u078a\u0788\u0001\u0000\u0000"+
30385 "\u0000\u078b\u078e\u0001\u0000\u0000\u0000\u078c\u078a\u0001\u0000\u0000"+
30386 "\u0000\u078c\u078d\u0001\u0000\u0000\u0000\u078d\u0790\u0001\u0000\u0000"+
30387 "\u0000\u078e\u078c\u0001\u0000\u0000\u0000\u078f\u0785\u0001\u0000\u0000"+
30388 "\u0000\u078f\u0787\u0001\u0000\u0000\u0000\u0790\u0791\u0001\u0000\u0000"+
30389 "\u0000\u0791\u0792\u0005\u001f\u0000\u0000\u0792\u0794\u0001\u0000\u0000"+
30390 "\u0000\u0793\u077e\u0001\u0000\u0000\u0000\u0793\u0782\u0001\u0000\u0000"+
30391 "\u0000\u0794\u0157\u0001\u0000\u0000\u0000\u0795\u07b6\u0005\u032c\u0000"+
30392 "\u0000\u0796\u07b6\u0005\u032d\u0000\u0000\u0797\u07b6\u0005\u032e\u0000"+
30393 "\u0000\u0798\u07b6\u0005\u032f\u0000\u0000\u0799\u07b6\u0005\u0330\u0000"+
30394 "\u0000\u079a\u07b6\u0005\u0331\u0000\u0000\u079b\u07b6\u0005\u0332\u0000"+
30395 "\u0000\u079c\u07b6\u0005\u0333\u0000\u0000\u079d\u07b6\u0005\u0334\u0000"+
30396 "\u0000\u079e\u07b6\u0005\u0335\u0000\u0000\u079f\u07b6\u0005\u0336\u0000"+
30397 "\u0000\u07a0\u07b6\u0005\u0337\u0000\u0000\u07a1\u07b6\u0005\u0338\u0000"+
30398 "\u0000\u07a2\u07b6\u0005\u0339\u0000\u0000\u07a3\u07b6\u0005\u033a\u0000"+
30399 "\u0000\u07a4\u07b6\u0005\u033b\u0000\u0000\u07a5\u07b6\u0005\u033c\u0000"+
30400 "\u0000\u07a6\u07b6\u0005\u033d\u0000\u0000\u07a7\u07b6\u0005\u033e\u0000"+
30401 "\u0000\u07a8\u07b6\u0005\u033f\u0000\u0000\u07a9\u07b6\u0005\u0340\u0000"+
30402 "\u0000\u07aa\u07b6\u0005\u0341\u0000\u0000\u07ab\u07b6\u0005\u0342\u0000"+
30403 "\u0000\u07ac\u07b6\u0005\u0343\u0000\u0000\u07ad\u07b6\u0005\u0344\u0000"+
30404 "\u0000\u07ae\u07b6\u0005\u015f\u0000\u0000\u07af\u07b6\u0005\u0345\u0000"+
30405 "\u0000\u07b0\u07b6\u0005\u0346\u0000\u0000\u07b1\u07b6\u0005\u0347\u0000"+
30406 "\u0000\u07b2\u07b6\u0005\u0160\u0000\u0000\u07b3\u07b4\u0005\u01af\u0000"+
30407 "\u0000\u07b4\u07b6\u0005\u01e1\u0000\u0000\u07b5\u0795\u0001\u0000\u0000"+
30408 "\u0000\u07b5\u0796\u0001\u0000\u0000\u0000\u07b5\u0797\u0001\u0000\u0000"+
30409 "\u0000\u07b5\u0798\u0001\u0000\u0000\u0000\u07b5\u0799\u0001\u0000\u0000"+
30410 "\u0000\u07b5\u079a\u0001\u0000\u0000\u0000\u07b5\u079b\u0001\u0000\u0000"+
30411 "\u0000\u07b5\u079c\u0001\u0000\u0000\u0000\u07b5\u079d\u0001\u0000\u0000"+
30412 "\u0000\u07b5\u079e\u0001\u0000\u0000\u0000\u07b5\u079f\u0001\u0000\u0000"+
30413 "\u0000\u07b5\u07a0\u0001\u0000\u0000\u0000\u07b5\u07a1\u0001\u0000\u0000"+
30414 "\u0000\u07b5\u07a2\u0001\u0000\u0000\u0000\u07b5\u07a3\u0001\u0000\u0000"+
30415 "\u0000\u07b5\u07a4\u0001\u0000\u0000\u0000\u07b5\u07a5\u0001\u0000\u0000"+
30416 "\u0000\u07b5\u07a6\u0001\u0000\u0000\u0000\u07b5\u07a7\u0001\u0000\u0000"+
30417 "\u0000\u07b5\u07a8\u0001\u0000\u0000\u0000\u07b5\u07a9\u0001\u0000\u0000"+
30418 "\u0000\u07b5\u07aa\u0001\u0000\u0000\u0000\u07b5\u07ab\u0001\u0000\u0000"+
30419 "\u0000\u07b5\u07ac\u0001\u0000\u0000\u0000\u07b5\u07ad\u0001\u0000\u0000"+
30420 "\u0000\u07b5\u07ae\u0001\u0000\u0000\u0000\u07b5\u07af\u0001\u0000\u0000"+
30421 "\u0000\u07b5\u07b0\u0001\u0000\u0000\u0000\u07b5\u07b1\u0001\u0000\u0000"+
30422 "\u0000\u07b5\u07b2\u0001\u0000\u0000\u0000\u07b5\u07b3\u0001\u0000\u0000"+
30423 "\u0000\u07b6\u0159\u0001\u0000\u0000\u0000\u07b7\u07b8\u0007$\u0000\u0000"+
30424 "\u07b8\u015b\u0001\u0000\u0000\u0000\u07b9\u07ba\u0005\u00d4\u0000\u0000"+
30425 "\u07ba\u015d\u0001\u0000\u0000\u0000\u07bb\u07be\u0005\u01f8\u0000\u0000"+
30426 "\u07bc\u07bf\u0003\u0160\u00b0\u0000\u07bd\u07bf\u0003\u00aaU\u0000\u07be"+
30427 "\u07bc\u0001\u0000\u0000\u0000\u07be\u07bd\u0001\u0000\u0000\u0000\u07bf"+
30428 "\u015f\u0001\u0000\u0000\u0000\u07c0\u07c2\u0005\u001e\u0000\u0000\u07c1"+
30429 "\u07c3\u0003\u00aaU\u0000\u07c2\u07c1\u0001\u0000\u0000\u0000\u07c2\u07c3"+
30430 "\u0001\u0000\u0000\u0000\u07c3\u07ce\u0001\u0000\u0000\u0000\u07c4\u07c5"+
30431 "\u0005\u01fe\u0000\u0000\u07c5\u07c6\u0005t\u0000\u0000\u07c6\u07cb\u0003"+
30432 "\u0134\u009a\u0000\u07c7\u07c8\u0005$\u0000\u0000\u07c8\u07ca\u0003\u0134"+
30433 "\u009a\u0000\u07c9\u07c7\u0001\u0000\u0000\u0000\u07ca\u07cd\u0001\u0000"+
30434 "\u0000\u0000\u07cb\u07c9\u0001\u0000\u0000\u0000\u07cb\u07cc\u0001\u0000"+
30435 "\u0000\u0000\u07cc\u07cf\u0001\u0000\u0000\u0000\u07cd\u07cb\u0001\u0000"+
30436 "\u0000\u0000\u07ce\u07c4\u0001\u0000\u0000\u0000\u07ce\u07cf\u0001\u0000"+
30437 "\u0000\u0000\u07cf\u07d1\u0001\u0000\u0000\u0000\u07d0\u07d2\u0003\u01b0"+
30438 "\u00d8\u0000\u07d1\u07d0\u0001\u0000\u0000\u0000\u07d1\u07d2\u0001\u0000"+
30439 "\u0000\u0000\u07d2\u07d4\u0001\u0000\u0000\u0000\u07d3\u07d5\u0003\u0162"+
30440 "\u00b1\u0000\u07d4\u07d3\u0001\u0000\u0000\u0000\u07d4\u07d5\u0001\u0000"+
30441 "\u0000\u0000\u07d5\u07d6\u0001\u0000\u0000\u0000\u07d6\u07d7\u0005\u001f"+
30442 "\u0000\u0000\u07d7\u0161\u0001\u0000\u0000\u0000\u07d8\u07db\u0007%\u0000"+
30443 "\u0000\u07d9\u07dc\u0003\u0164\u00b2\u0000\u07da\u07dc\u0003\u0168\u00b4"+
30444 "\u0000\u07db\u07d9\u0001\u0000\u0000\u0000\u07db\u07da\u0001\u0000\u0000"+
30445 "\u0000\u07dc\u0163\u0001\u0000\u0000\u0000\u07dd\u07de\u0005\u00ad\u0000"+
30446 "\u0000\u07de\u07ea\u0005\u0263\u0000\u0000\u07df\u07e0\u0005\u02f0\u0000"+
30447 "\u0000\u07e0\u07ea\u0005\u020f\u0000\u0000\u07e1\u07e2\u0005\u02f0\u0000"+
30448 "\u0000\u07e2\u07ea\u0005\u010e\u0000\u0000\u07e3\u07e4\u0003\u0134\u009a"+
30449 "\u0000\u07e4\u07e5\u0005\u020f\u0000\u0000\u07e5\u07ea\u0001\u0000\u0000"+
30450 "\u0000\u07e6\u07e7\u0003\u0134\u009a\u0000\u07e7\u07e8\u0005\u010e\u0000"+
30451 "\u0000\u07e8\u07ea\u0001\u0000\u0000\u0000\u07e9\u07dd\u0001\u0000\u0000"+
30452 "\u0000\u07e9\u07df\u0001\u0000\u0000\u0000\u07e9\u07e1\u0001\u0000\u0000"+
30453 "\u0000\u07e9\u07e3\u0001\u0000\u0000\u0000\u07e9\u07e6\u0001\u0000\u0000"+
30454 "\u0000\u07ea\u0165\u0001\u0000\u0000\u0000\u07eb\u07ec\u0003\u0164\u00b2"+
30455 "\u0000\u07ec\u0167\u0001\u0000\u0000\u0000\u07ed\u07ee\u0005h\u0000\u0000"+
30456 "\u07ee\u07ef\u0003\u0164\u00b2\u0000\u07ef\u07f0\u0005V\u0000\u0000\u07f0"+
30457 "\u07f1\u0003\u0166\u00b3\u0000\u07f1\u0169\u0001\u0000\u0000\u0000\u07f2"+
30458 "\u07ff\u0003\u016e\u00b7\u0000\u07f3\u07ff\u0003\u0170\u00b8\u0000\u07f4"+
30459 "\u07ff\u0003\u017c\u00be\u0000\u07f5\u07ff\u0003\u017e\u00bf\u0000\u07f6"+
30460 "\u07ff\u0003\u0182\u00c1\u0000\u07f7\u07ff\u0003\u0184\u00c2\u0000\u07f8"+
30461 "\u07ff\u0003\u0186\u00c3\u0000\u07f9\u07ff\u0003\u0188\u00c4\u0000\u07fa"+
30462 "\u07ff\u0003\u018a\u00c5\u0000\u07fb\u07ff\u0003\u018e\u00c7\u0000\u07fc"+
30463 "\u07ff\u0003\u018c\u00c6\u0000\u07fd\u07ff\u0003\u016c\u00b6\u0000\u07fe"+
30464 "\u07f2\u0001\u0000\u0000\u0000\u07fe\u07f3\u0001\u0000\u0000\u0000\u07fe"+
30465 "\u07f4\u0001\u0000\u0000\u0000\u07fe\u07f5\u0001\u0000\u0000\u0000\u07fe"+
30466 "\u07f6\u0001\u0000\u0000\u0000\u07fe\u07f7\u0001\u0000\u0000\u0000\u07fe"+
30467 "\u07f8\u0001\u0000\u0000\u0000\u07fe\u07f9\u0001\u0000\u0000\u0000\u07fe"+
30468 "\u07fa\u0001\u0000\u0000\u0000\u07fe\u07fb\u0001\u0000\u0000\u0000\u07fe"+
30469 "\u07fc\u0001\u0000\u0000\u0000\u07fe\u07fd\u0001\u0000\u0000\u0000\u07ff"+
30470 "\u016b\u0001\u0000\u0000\u0000\u0800\u0803\u0005\u00b1\u0000\u0000\u0801"+
30471 "\u0802\u0005\u001e\u0000\u0000\u0802\u0804\u0005\u001f\u0000\u0000\u0803"+
30472 "\u0801\u0001\u0000\u0000\u0000\u0803\u0804\u0001\u0000\u0000\u0000\u0804"+
30473 "\u016d\u0001\u0000\u0000\u0000\u0805\u0806\u00053\u0000\u0000\u0806\u0808"+
30474 "\u0005\u001e\u0000\u0000\u0807\u0809\u0003\u015c\u00ae\u0000\u0808\u0807"+
30475 "\u0001\u0000\u0000\u0000\u0808\u0809\u0001\u0000\u0000\u0000\u0809\u0813"+
30476 "\u0001\u0000\u0000\u0000\u080a\u080f\u0003\u0134\u009a\u0000\u080b\u080c"+
30477 "\u0005$\u0000\u0000\u080c\u080e\u0003\u0134\u009a\u0000\u080d\u080b\u0001"+
30478 "\u0000\u0000\u0000\u080e\u0811\u0001\u0000\u0000\u0000\u080f\u080d\u0001"+
30479 "\u0000\u0000\u0000\u080f\u0810\u0001\u0000\u0000\u0000\u0810\u0814\u0001"+
30480 "\u0000\u0000\u0000\u0811\u080f\u0001\u0000\u0000\u0000\u0812\u0814\u0005"+
30481 "\u0010\u0000\u0000\u0813\u080a\u0001\u0000\u0000\u0000\u0813\u0812\u0001"+
30482 "\u0000\u0000\u0000\u0813\u0814\u0001\u0000\u0000\u0000\u0814\u0816\u0001"+
30483 "\u0000\u0000\u0000\u0815\u0817\u0003\u01b0\u00d8\u0000\u0816\u0815\u0001"+
30484 "\u0000\u0000\u0000\u0816\u0817\u0001\u0000\u0000\u0000\u0817\u081a\u0001"+
30485 "\u0000\u0000\u0000\u0818\u0819\u0005\u0278\u0000\u0000\u0819\u081b\u0003"+
30486 "\u0134\u009a\u0000\u081a\u0818\u0001\u0000\u0000\u0000\u081a\u081b\u0001"+
30487 "\u0000\u0000\u0000\u081b\u081c\u0001\u0000\u0000\u0000\u081c\u081d\u0005"+
30488 "\u001f\u0000\u0000\u081d\u016f\u0001\u0000\u0000\u0000\u081e\u081f\u0007"+
30489 "&\u0000\u0000\u081f\u0820\u0005\u001e\u0000\u0000\u0820\u0821\u0005\u001f"+
30490 "\u0000\u0000\u0821\u084b\u0003\u0172\u00b9\u0000\u0822\u0823\u0005\u01db"+
30491 "\u0000\u0000\u0823\u0824\u0003\u0146\u00a3\u0000\u0824\u0825\u0003\u0172"+
30492 "\u00b9\u0000\u0825\u084b\u0001\u0000\u0000\u0000\u0826\u0827\u0007\'\u0000"+
30493 "\u0000\u0827\u0828\u0005\u001e\u0000\u0000\u0828\u082a\u0003\u0134\u009a"+
30494 "\u0000\u0829\u082b\u0003\u0174\u00ba\u0000\u082a\u0829\u0001\u0000\u0000"+
30495 "\u0000\u082a\u082b\u0001\u0000\u0000\u0000\u082b\u082c\u0001\u0000\u0000"+
30496 "\u0000\u082c\u082e\u0005\u001f\u0000\u0000\u082d\u082f\u0003\u0176\u00bb"+
30497 "\u0000\u082e\u082d\u0001\u0000\u0000\u0000\u082e\u082f\u0001\u0000\u0000"+
30498 "\u0000\u082f\u0830\u0001\u0000\u0000\u0000\u0830\u0831\u0003\u0172\u00b9"+
30499 "\u0000\u0831\u084b\u0001\u0000\u0000\u0000\u0832\u0833\u0007(\u0000\u0000"+
30500 "\u0833\u0834\u0005\u001e\u0000\u0000\u0834\u0835\u0003\u0134\u009a\u0000"+
30501 "\u0835\u0837\u0005\u001f\u0000\u0000\u0836\u0838\u0003\u0176\u00bb\u0000"+
30502 "\u0837\u0836\u0001\u0000\u0000\u0000\u0837\u0838\u0001\u0000\u0000\u0000"+
30503 "\u0838\u0839\u0001\u0000\u0000\u0000\u0839\u083a\u0003\u0172\u00b9\u0000"+
30504 "\u083a\u084b\u0001\u0000\u0000\u0000\u083b\u083c\u0005\u01da\u0000\u0000"+
30505 "\u083c\u083d\u0005\u001e\u0000\u0000\u083d\u083e\u0003\u0134\u009a\u0000"+
30506 "\u083e\u083f\u0005$\u0000\u0000\u083f\u0840\u0003\u0146\u00a3\u0000\u0840"+
30507 "\u0843\u0005\u001f\u0000\u0000\u0841\u0842\u0005\u0115\u0000\u0000\u0842"+
30508 "\u0844\u0007)\u0000\u0000\u0843\u0841\u0001\u0000\u0000\u0000\u0843\u0844"+
30509 "\u0001\u0000\u0000\u0000\u0844\u0846\u0001\u0000\u0000\u0000\u0845\u0847"+
30510 "\u0003\u0176\u00bb\u0000\u0846\u0845\u0001\u0000\u0000\u0000\u0846\u0847"+
30511 "\u0001\u0000\u0000\u0000\u0847\u0848\u0001\u0000\u0000\u0000\u0848\u0849"+
30512 "\u0003\u0172\u00b9\u0000\u0849\u084b\u0001\u0000\u0000\u0000\u084a\u081e"+
30513 "\u0001\u0000\u0000\u0000\u084a\u0822\u0001\u0000\u0000\u0000\u084a\u0826"+
30514 "\u0001\u0000\u0000\u0000\u084a\u0832\u0001\u0000\u0000\u0000\u084a\u083b"+
30515 "\u0001\u0000\u0000\u0000\u084b\u0171\u0001\u0000\u0000\u0000\u084c\u084f"+
30516 "\u0005\u01f8\u0000\u0000\u084d\u0850\u0003\u00aaU\u0000\u084e\u0850\u0003"+
30517 "\u0160\u00b0\u0000\u084f\u084d\u0001\u0000\u0000\u0000\u084f\u084e\u0001"+
30518 "\u0000\u0000\u0000\u0850\u0173\u0001\u0000\u0000\u0000\u0851\u0852\u0005"+
30519 "$\u0000\u0000\u0852\u0855\u0007*\u0000\u0000\u0853\u0854\u0005$\u0000"+
30520 "\u0000\u0854\u0856\u0003\u0134\u009a\u0000\u0855\u0853\u0001\u0000\u0000"+
30521 "\u0000\u0855\u0856\u0001\u0000\u0000\u0000\u0856\u0175\u0001\u0000\u0000"+
30522 "\u0000\u0857\u0858\u0007+\u0000\u0000\u0858\u0859\u0005\u01dd\u0000\u0000"+
30523 "\u0859\u0177\u0001\u0000\u0000\u0000\u085a\u085b\u0005\u0110\u0000\u0000"+
30524 "\u085b\u0862\u0005\u0301\u0000\u0000\u085c\u0862\u0005\u0220\u0000\u0000"+
30525 "\u085d\u0862\u0005\u0101\u0000\u0000\u085e\u0862\u0005\u01ab\u0000\u0000"+
30526 "\u085f\u0862\u0005\u00fd\u0000\u0000\u0860\u0862\u0005~\u0000\u0000\u0861"+
30527 "\u085a\u0001\u0000\u0000\u0000\u0861\u085c\u0001\u0000\u0000\u0000\u0861"+
30528 "\u085d\u0001\u0000\u0000\u0000\u0861\u085e\u0001\u0000\u0000\u0000\u0861"+
30529 "\u085f\u0001\u0000\u0000\u0000\u0861\u0860\u0001\u0000\u0000\u0000\u0862"+
30530 "\u0179\u0001\u0000\u0000\u0000\u0863\u0864\u0007,\u0000\u0000\u0864\u017b"+
30531 "\u0001\u0000\u0000\u0000\u0865\u0866\u00054\u0000\u0000\u0866\u0867\u0005"+
30532 "\u001e\u0000\u0000\u0867\u0868\u0003\u0134\u009a\u0000\u0868\u0869\u0005"+
30533 "Y\u0000\u0000\u0869\u086b\u0003\u0180\u00c0\u0000\u086a\u086c\u0005X\u0000"+
30534 "\u0000\u086b\u086a\u0001\u0000\u0000\u0000\u086b\u086c\u0001\u0000\u0000"+
30535 "\u0000\u086c\u086d\u0001\u0000\u0000\u0000\u086d\u086e\u0005\u001f\u0000"+
30536 "\u0000\u086e\u087e\u0001\u0000\u0000\u0000\u086f\u0870\u00054\u0000\u0000"+
30537 "\u0870\u0871\u0005\u001e\u0000\u0000\u0871\u0872\u0003\u0134\u009a\u0000"+
30538 "\u0872\u0873\u0005]\u0000\u0000\u0873\u0874\u0005\u02df\u0000\u0000\u0874"+
30539 "\u0875\u0005\u0348\u0000\u0000\u0875\u0876\u0003\u0134\u009a\u0000\u0876"+
30540 "\u0877\u0005Y\u0000\u0000\u0877\u0879\u0005\u00b9\u0000\u0000\u0878\u087a"+
30541 "\u0003\u01c0\u00e0\u0000\u0879\u0878\u0001\u0000\u0000\u0000\u0879\u087a"+
30542 "\u0001\u0000\u0000\u0000\u087a\u087b\u0001\u0000\u0000\u0000\u087b\u087c"+
30543 "\u0005\u001f\u0000\u0000\u087c\u087e\u0001\u0000\u0000\u0000\u087d\u0865"+
30544 "\u0001\u0000\u0000\u0000\u087d\u086f\u0001\u0000\u0000\u0000\u087e\u017d"+
30545 "\u0001\u0000\u0000\u0000\u087f\u0880\u0005\u00a7\u0000\u0000\u0880\u0881"+
30546 "\u0005\u001e\u0000\u0000\u0881\u0882\u0003\u0134\u009a\u0000\u0882\u0883"+
30547 "\u0005$\u0000\u0000\u0883\u0884\u0003\u0180\u00c0\u0000\u0884\u0885\u0005"+
30548 "\u001f\u0000\u0000\u0885\u088e\u0001\u0000\u0000\u0000\u0886\u0887\u0005"+
30549 "\u00a7\u0000\u0000\u0887\u0888\u0005\u001e\u0000\u0000\u0888\u0889\u0003"+
30550 "\u0134\u009a\u0000\u0889\u088a\u0005\u0307\u0000\u0000\u088a\u088b\u0003"+
30551 "\u00d6k\u0000\u088b\u088c\u0005\u001f\u0000\u0000\u088c\u088e\u0001\u0000"+
30552 "\u0000\u0000\u088d\u087f\u0001\u0000\u0000\u0000\u088d\u0886\u0001\u0000"+
30553 "\u0000\u0000\u088e\u017f\u0001\u0000\u0000\u0000\u088f\u0891\u0005j\u0000"+
30554 "\u0000\u0890\u0892\u0003\u01da\u00ed\u0000\u0891\u0890\u0001\u0000\u0000"+
30555 "\u0000\u0891\u0892\u0001\u0000\u0000\u0000\u0892\u08ba\u0001\u0000\u0000"+
30556 "\u0000\u0893\u0895\u0005\u0080\u0000\u0000\u0894\u0896\u0003\u01da\u00ed"+
30557 "\u0000\u0895\u0894\u0001\u0000\u0000\u0000\u0895\u0896\u0001\u0000\u0000"+
30558 "\u0000\u0896\u0898\u0001\u0000\u0000\u0000\u0897\u0899\u0003\u01c2\u00e1"+
30559 "\u0000\u0898\u0897\u0001\u0000\u0000\u0000\u0898\u0899\u0001\u0000\u0000"+
30560 "\u0000\u0899\u08ba\u0001\u0000\u0000\u0000\u089a\u089d\u0005\u01ca\u0000"+
30561 "\u0000\u089b\u089d\u0005\u01c7\u0000\u0000\u089c\u089a\u0001\u0000\u0000"+
30562 "\u0000\u089c\u089b\u0001\u0000\u0000\u0000\u089d\u089f\u0001\u0000\u0000"+
30563 "\u0000\u089e\u08a0\u0003\u01da\u00ed\u0000\u089f\u089e\u0001\u0000\u0000"+
30564 "\u0000\u089f\u08a0\u0001\u0000\u0000\u0000\u08a0\u08ba\u0001\u0000\u0000"+
30565 "\u0000\u08a1\u08ba\u0007-\u0000\u0000\u08a2\u08ba\u0007.\u0000\u0000\u08a3"+
30566 "\u08ba\u0005\u00b8\u0000\u0000\u08a4\u08a6\u0005\u02df\u0000\u0000\u08a5"+
30567 "\u08a7\u0003\u01c0\u00e0\u0000\u08a6\u08a5\u0001\u0000\u0000\u0000\u08a6"+
30568 "\u08a7\u0001\u0000\u0000\u0000\u08a7\u08ba\u0001\u0000\u0000\u0000\u08a8"+
30569 "\u08aa\u0005\u00b9\u0000\u0000\u08a9\u08ab\u0003\u01c0\u00e0\u0000\u08aa"+
30570 "\u08a9\u0001\u0000\u0000\u0000\u08aa\u08ab\u0001\u0000\u0000\u0000\u08ab"+
30571 "\u08ba\u0001\u0000\u0000\u0000\u08ac\u08af\u0005\u00c1\u0000\u0000\u08ad"+
30572 "\u08b0\u0003\u01da\u00ed\u0000\u08ae\u08b0\u0003\u01be\u00df\u0000\u08af"+
30573 "\u08ad\u0001\u0000\u0000\u0000\u08af\u08ae\u0001\u0000\u0000\u0000\u08af"+
30574 "\u08b0\u0001\u0000\u0000\u0000\u08b0\u08ba\u0001\u0000\u0000\u0000\u08b1"+
30575 "\u08ba\u0005\u015e\u0000\u0000\u08b2\u08ba\u0005\u0228\u0000\u0000\u08b3"+
30576 "\u08b4\u0005\u00d8\u0000\u0000\u08b4\u08ba\u0005\u0210\u0000\u0000\u08b5"+
30577 "\u08b7\u0005\u010a\u0000\u0000\u08b6\u08b8\u0003\u01be\u00df\u0000\u08b7"+
30578 "\u08b6\u0001\u0000\u0000\u0000\u08b7\u08b8\u0001\u0000\u0000\u0000\u08b8"+
30579 "\u08ba\u0001\u0000\u0000\u0000\u08b9\u088f\u0001\u0000\u0000\u0000\u08b9"+
30580 "\u0893\u0001\u0000\u0000\u0000\u08b9\u089c\u0001\u0000\u0000\u0000\u08b9"+
30581 "\u08a1\u0001\u0000\u0000\u0000\u08b9\u08a2\u0001\u0000\u0000\u0000\u08b9"+
30582 "\u08a3\u0001\u0000\u0000\u0000\u08b9\u08a4\u0001\u0000\u0000\u0000\u08b9"+
30583 "\u08a8\u0001\u0000\u0000\u0000\u08b9\u08ac\u0001\u0000\u0000\u0000\u08b9"+
30584 "\u08b1\u0001\u0000\u0000\u0000\u08b9\u08b2\u0001\u0000\u0000\u0000\u08b9"+
30585 "\u08b3\u0001\u0000\u0000\u0000\u08b9\u08b5\u0001\u0000\u0000\u0000\u08ba"+
30586 "\u0181\u0001\u0000\u0000\u0000\u08bb\u08bc\u00055\u0000\u0000\u08bc\u08bd"+
30587 "\u0005\u001e\u0000\u0000\u08bd\u08be\u0003\u0134\u009a\u0000\u08be\u08bf"+
30588 "\u0005\u013d\u0000\u0000\u08bf\u08c0\u0003\u0134\u009a\u0000\u08c0\u08c1"+
30589 "\u0005\u001f\u0000\u0000\u08c1\u0183\u0001\u0000\u0000\u0000\u08c2\u08c3"+
30590 "\u0007/\u0000\u0000\u08c3\u08c4\u0005\u001e\u0000\u0000\u08c4\u08c5\u0003"+
30591 "\u0134\u009a\u0000\u08c5\u08c6\u0005\u0115\u0000\u0000\u08c6\u08c9\u0005"+
30592 "\u034f\u0000\u0000\u08c7\u08c8\u0005\u0110\u0000\u0000\u08c8\u08ca\u0005"+
30593 "\u034f\u0000\u0000\u08c9\u08c7\u0001\u0000\u0000\u0000\u08c9\u08ca\u0001"+
30594 "\u0000\u0000\u0000\u08ca\u08cb\u0001\u0000\u0000\u0000\u08cb\u08cc\u0005"+
30595 "\u001f\u0000\u0000\u08cc\u08d9\u0001\u0000\u0000\u0000\u08cd\u08ce\u0007"+
30596 "/\u0000\u0000\u08ce\u08cf\u0005\u001e\u0000\u0000\u08cf\u08d0\u0003\u0134"+
30597 "\u009a\u0000\u08d0\u08d1\u0005$\u0000\u0000\u08d1\u08d4\u0005\u034f\u0000"+
30598 "\u0000\u08d2\u08d3\u0005$\u0000\u0000\u08d3\u08d5\u0005\u034f\u0000\u0000"+
30599 "\u08d4\u08d2\u0001\u0000\u0000\u0000\u08d4\u08d5\u0001\u0000\u0000\u0000"+
30600 "\u08d5\u08d6\u0001\u0000\u0000\u0000\u08d6\u08d7\u0005\u001f\u0000\u0000"+
30601 "\u08d7\u08d9\u0001\u0000\u0000\u0000\u08d8\u08c2\u0001\u0000\u0000\u0000"+
30602 "\u08d8\u08cd\u0001\u0000\u0000\u0000\u08d9\u0185\u0001\u0000\u0000\u0000"+
30603 "\u08da\u08db\u00058\u0000\u0000\u08db\u08dc\u0005\u001e\u0000\u0000\u08dc"+
30604 "\u08dd\u0003\u00aaU\u0000\u08dd\u08de\u0005\u0115\u0000\u0000\u08de\u08df"+
30605 "\u0003\u0134\u009a\u0000\u08df\u08e0\u0005\u001f\u0000\u0000\u08e0\u0187"+
30606 "\u0001\u0000\u0000\u0000\u08e1\u08e2\u0005\u0080\u0000\u0000\u08e2\u08e3"+
30607 "\u0005\u001e\u0000\u0000\u08e3\u08e8\u0003\u0134\u009a\u0000\u08e4\u08e5"+
30608 "\u0005$\u0000\u0000\u08e5\u08e7\u0003\u0134\u009a\u0000\u08e6\u08e4\u0001"+
30609 "\u0000\u0000\u0000\u08e7\u08ea\u0001\u0000\u0000\u0000\u08e8\u08e6\u0001"+
30610 "\u0000\u0000\u0000\u08e8\u08e9\u0001\u0000\u0000\u0000\u08e9\u08ed\u0001"+
30611 "\u0000\u0000\u0000\u08ea\u08e8\u0001\u0000\u0000\u0000\u08eb\u08ec\u0005"+
30612 "\u0307\u0000\u0000\u08ec\u08ee\u0003\u00d6k\u0000\u08ed\u08eb\u0001\u0000"+
30613 "\u0000\u0000\u08ed\u08ee\u0001\u0000\u0000\u0000\u08ee\u08ef\u0001\u0000"+
30614 "\u0000\u0000\u08ef\u08f0\u0005\u001f\u0000\u0000\u08f0\u0189\u0001\u0000"+
30615 "\u0000\u0000\u08f1\u08f2\u00059\u0000\u0000\u08f2\u08f8\u0005\u001e\u0000"+
30616 "\u0000\u08f3\u08f5\u00070\u0000\u0000\u08f4\u08f6\u0003\u0134\u009a\u0000"+
30617 "\u08f5\u08f4\u0001\u0000\u0000\u0000\u08f5\u08f6\u0001\u0000\u0000\u0000"+
30618 "\u08f6\u08f7\u0001";
30619 private static final String _serializedATNSegment1 =
30620 "\u0000\u0000\u0000\u08f7\u08f9\u0005\u0115\u0000\u0000\u08f8\u08f3\u0001"+
30621 "\u0000\u0000\u0000\u08f8\u08f9\u0001\u0000\u0000\u0000\u08f9\u08fa\u0001"+
30622 "\u0000\u0000\u0000\u08fa\u08fb\u0003\u0134\u009a\u0000\u08fb\u08fc\u0005"+
30623 "\u001f\u0000\u0000\u08fc\u0908\u0001\u0000\u0000\u0000\u08fd\u08fe\u0005"+
30624 "9\u0000\u0000\u08fe\u0902\u0005\u001e\u0000\u0000\u08ff\u0900\u0003\u0134"+
30625 "\u009a\u0000\u0900\u0901\u0005\u0115\u0000\u0000\u0901\u0903\u0001\u0000"+
30626 "\u0000\u0000\u0902\u08ff\u0001\u0000\u0000\u0000\u0902\u0903\u0001\u0000"+
30627 "\u0000\u0000\u0903\u0904\u0001\u0000\u0000\u0000\u0904\u0905\u0003\u0134"+
30628 "\u009a\u0000\u0905\u0906\u0005\u001f\u0000\u0000\u0906\u0908\u0001\u0000"+
30629 "\u0000\u0000\u0907\u08f1\u0001\u0000\u0000\u0000\u0907\u08fd\u0001\u0000"+
30630 "\u0000\u0000\u0908\u018b\u0001\u0000\u0000\u0000\u0909\u090a\u0005\u030d"+
30631 "\u0000\u0000\u090a\u090b\u0005\u001e\u0000\u0000\u090b\u090c\u0003\u014e"+
30632 "\u00a7\u0000\u090c\u090d\u0005\u001f\u0000\u0000\u090d\u018d\u0001\u0000"+
30633 "\u0000\u0000\u090e\u090f\u0005\u031a\u0000\u0000\u090f\u0910\u0005\u001e"+
30634 "\u0000\u0000\u0910\u0913\u0003\u0134\u009a\u0000\u0911\u0912\u0005Y\u0000"+
30635 "\u0000\u0912\u0914\u0003\u01b4\u00da\u0000\u0913\u0911\u0001\u0000\u0000"+
30636 "\u0000\u0913\u0914\u0001\u0000\u0000\u0000\u0914\u0916\u0001\u0000\u0000"+
30637 "\u0000\u0915\u0917\u0003\u0190\u00c8\u0000\u0916\u0915\u0001\u0000\u0000"+
30638 "\u0000\u0916\u0917\u0001\u0000\u0000\u0000\u0917\u0918\u0001\u0000\u0000"+
30639 "\u0000\u0918\u0919\u0005\u001f\u0000\u0000\u0919\u018f\u0001\u0000\u0000"+
30640 "\u0000\u091a\u0926\u0005\u0170\u0000\u0000\u091b\u0920\u0003\u0192\u00c9"+
30641 "\u0000\u091c\u091d\u0005$\u0000\u0000\u091d\u091f\u0003\u0192\u00c9\u0000"+
30642 "\u091e\u091c\u0001\u0000\u0000\u0000\u091f\u0922\u0001\u0000\u0000\u0000"+
30643 "\u0920\u091e\u0001\u0000\u0000\u0000\u0920\u0921\u0001\u0000\u0000\u0000"+
30644 "\u0921\u0927\u0001\u0000\u0000\u0000\u0922\u0920\u0001\u0000\u0000\u0000"+
30645 "\u0923\u0924\u0005\u034f\u0000\u0000\u0924\u0925\u0005\u000f\u0000\u0000"+
30646 "\u0925\u0927\u0005\u034f\u0000\u0000\u0926\u091b\u0001\u0000\u0000\u0000"+
30647 "\u0926\u0923\u0001\u0000\u0000\u0000\u0927\u0191\u0001\u0000\u0000\u0000"+
30648 "\u0928\u092a\u0005\u034f\u0000\u0000\u0929\u092b\u0003\u01d6\u00eb\u0000"+
30649 "\u092a\u0929\u0001\u0000\u0000\u0000\u092a\u092b\u0001\u0000\u0000\u0000"+
30650 "\u092b\u092d\u0001\u0000\u0000\u0000\u092c\u092e\u0005\u025a\u0000\u0000"+
30651 "\u092d\u092c\u0001\u0000\u0000\u0000\u092d\u092e\u0001\u0000\u0000\u0000"+
30652 "\u092e\u0193\u0001\u0000\u0000\u0000\u092f\u0932\u0003\u0198\u00cc\u0000"+
30653 "\u0930\u0932\u0003\u0196\u00cb\u0000\u0931\u092f\u0001\u0000\u0000\u0000"+
30654 "\u0931\u0930\u0001\u0000\u0000\u0000\u0932\u0195\u0001\u0000\u0000\u0000"+
30655 "\u0933\u0941\u0005\u00ae\u0000\u0000\u0934\u093a\u0005\u00af\u0000\u0000"+
30656 "\u0935\u0937\u0005\u001e\u0000\u0000\u0936\u0938\u0005\u034f\u0000\u0000"+
30657 "\u0937\u0936\u0001\u0000\u0000\u0000\u0937\u0938\u0001\u0000\u0000\u0000"+
30658 "\u0938\u0939\u0001\u0000\u0000\u0000\u0939\u093b\u0005\u001f\u0000\u0000"+
30659 "\u093a\u0935\u0001\u0000\u0000\u0000\u093a\u093b\u0001\u0000\u0000\u0000"+
30660 "\u093b\u0941\u0001\u0000\u0000\u0000\u093c\u0941\u0005\u00b0\u0000\u0000"+
30661 "\u093d\u0941\u0005:\u0000\u0000\u093e\u0941\u0005\u0179\u0000\u0000\u093f"+
30662 "\u0941\u0005\u017a\u0000\u0000\u0940\u0933\u0001\u0000\u0000\u0000\u0940"+
30663 "\u0934\u0001\u0000\u0000\u0000\u0940\u093c\u0001\u0000\u0000\u0000\u0940"+
30664 "\u093d\u0001\u0000\u0000\u0000\u0940\u093e\u0001\u0000\u0000\u0000\u0940"+
30665 "\u093f\u0001\u0000\u0000\u0000\u0941\u0197\u0001\u0000\u0000\u0000\u0942"+
30666 "\u0943\u0003\u019a\u00cd\u0000\u0943\u094d\u0005\u001e\u0000\u0000\u0944"+
30667 "\u0949\u0003\u0134\u009a\u0000\u0945\u0946\u0005$\u0000\u0000\u0946\u0948"+
30668 "\u0003\u0134\u009a\u0000\u0947\u0945\u0001\u0000\u0000\u0000\u0948\u094b"+
30669 "\u0001\u0000\u0000\u0000\u0949\u0947\u0001\u0000\u0000\u0000\u0949\u094a"+
30670 "\u0001\u0000\u0000\u0000\u094a\u094e\u0001\u0000\u0000\u0000\u094b\u0949"+
30671 "\u0001\u0000\u0000\u0000\u094c\u094e\u0005\u0010\u0000\u0000\u094d\u0944"+
30672 "\u0001\u0000\u0000\u0000\u094d\u094c\u0001\u0000\u0000\u0000\u094d\u094e"+
30673 "\u0001\u0000\u0000\u0000\u094e\u094f\u0001\u0000\u0000\u0000\u094f\u0950"+
30674 "\u0005\u001f\u0000\u0000\u0950\u0199\u0001\u0000\u0000\u0000\u0951\u0971"+
30675 "\u0005\u0139\u0000\u0000\u0952\u0971\u0005\u0179\u0000\u0000\u0953\u0971"+
30676 "\u0005\u017a\u0000\u0000\u0954\u0971\u0005\u023e\u0000\u0000\u0955\u0971"+
30677 "\u0005\u0146\u0000\u0000\u0956\u0971\u0005\u0151\u0000\u0000\u0957\u0971"+
30678 "\u0005\u01ba\u0000\u0000\u0958\u0971\u0005\u00b5\u0000\u0000\u0959\u0971"+
30679 "\u0005\u026b\u0000\u0000\u095a\u0971\u0005\u016e\u0000\u0000\u095b\u0971"+
30680 "\u0005\u025c\u0000\u0000\u095c\u0971\u0005\u00b8\u0000\u0000\u095d\u0971"+
30681 "\u0005\u00ba\u0000\u0000\u095e\u0971\u0005\u011d\u0000\u0000\u095f\u0971"+
30682 "\u0005\u023c\u0000\u0000\u0960\u0971\u0005\u0175\u0000\u0000\u0961\u0971"+
30683 "\u0005\u01bf\u0000\u0000\u0962\u0971\u0005\u01c0\u0000\u0000\u0963\u0971"+
30684 "\u0005\u01c1\u0000\u0000\u0964\u0971\u0005\u020b\u0000\u0000\u0965\u0971"+
30685 "\u0005\u020c\u0000\u0000\u0966\u0971\u0005\u02df\u0000\u0000\u0967\u0971"+
30686 "\u0005\u02e0\u0000\u0000\u0968\u0971\u0005\u02e1\u0000\u0000\u0969\u0971"+
30687 "\u0005\u02e2\u0000\u0000\u096a\u0971\u0005\u00b8\u0000\u0000\u096b\u0971"+
30688 "\u0005\u00b0\u0000\u0000\u096c\u0971\u0005\u00ae\u0000\u0000\u096d\u0971"+
30689 "\u0005\u00af\u0000\u0000\u096e\u0971\u0005\u030a\u0000\u0000\u096f\u0971"+
30690 "\u0003\u00aaU\u0000\u0970\u0951\u0001\u0000\u0000\u0000\u0970\u0952\u0001"+
30691 "\u0000\u0000\u0000\u0970\u0953\u0001\u0000\u0000\u0000\u0970\u0954\u0001"+
30692 "\u0000\u0000\u0000\u0970\u0955\u0001\u0000\u0000\u0000\u0970\u0956\u0001"+
30693 "\u0000\u0000\u0000\u0970\u0957\u0001\u0000\u0000\u0000\u0970\u0958\u0001"+
30694 "\u0000\u0000\u0000\u0970\u0959\u0001\u0000\u0000\u0000\u0970\u095a\u0001"+
30695 "\u0000\u0000\u0000\u0970\u095b\u0001\u0000\u0000\u0000\u0970\u095c\u0001"+
30696 "\u0000\u0000\u0000\u0970\u095d\u0001\u0000\u0000\u0000\u0970\u095e\u0001"+
30697 "\u0000\u0000\u0000\u0970\u095f\u0001\u0000\u0000\u0000\u0970\u0960\u0001"+
30698 "\u0000\u0000\u0000\u0970\u0961\u0001\u0000\u0000\u0000\u0970\u0962\u0001"+
30699 "\u0000\u0000\u0000\u0970\u0963\u0001\u0000\u0000\u0000\u0970\u0964\u0001"+
30700 "\u0000\u0000\u0000\u0970\u0965\u0001\u0000\u0000\u0000\u0970\u0966\u0001"+
30701 "\u0000\u0000\u0000\u0970\u0967\u0001\u0000\u0000\u0000\u0970\u0968\u0001"+
30702 "\u0000\u0000\u0000\u0970\u0969\u0001\u0000\u0000\u0000\u0970\u096a\u0001"+
30703 "\u0000\u0000\u0000\u0970\u096b\u0001\u0000\u0000\u0000\u0970\u096c\u0001"+
30704 "\u0000\u0000\u0000\u0970\u096d\u0001\u0000\u0000\u0000\u0970\u096e\u0001"+
30705 "\u0000\u0000\u0000\u0970\u096f\u0001\u0000\u0000\u0000\u0971\u019b\u0001"+
30706 "\u0000\u0000\u0000\u0972\u0978\u0005\u01a3\u0000\u0000\u0973\u0979\u0003"+
30707 "\u014e\u00a7\u0000\u0974\u0975\u0005\u001e\u0000\u0000\u0975\u0976\u0003"+
30708 "\u014e\u00a7\u0000\u0976\u0977\u0005\u001f\u0000\u0000\u0977\u0979\u0001"+
30709 "\u0000\u0000\u0000\u0978\u0973\u0001\u0000\u0000\u0000\u0978\u0974\u0001"+
30710 "\u0000\u0000\u0000\u0979\u097a\u0001\u0000\u0000\u0000\u097a\u097b\u0005"+
30711 "O\u0000\u0000\u097b\u097c\u0005\u001e\u0000\u0000\u097c\u097e\u0003\u0134"+
30712 "\u009a\u0000\u097d\u097f\u0003\u019e\u00cf\u0000\u097e\u097d\u0001\u0000"+
30713 "\u0000\u0000\u097e\u097f\u0001\u0000\u0000\u0000\u097f\u0980\u0001\u0000"+
30714 "\u0000\u0000\u0980\u0981\u0005\u001f\u0000\u0000\u0981\u019d\u0001\u0000"+
30715 "\u0000\u0000\u0982\u0983\u0005\u013d\u0000\u0000\u0983\u0984\u0005\u01c9"+
30716 "\u0000\u0000\u0984\u0985\u0005\u0166\u0000\u0000\u0985\u0994\u0005\u01bb"+
30717 "\u0000\u0000\u0986\u0987\u0005\u013d\u0000\u0000\u0987\u0988\u0005\u01c9"+
30718 "\u0000\u0000\u0988\u0989\u0005\u0166\u0000\u0000\u0989\u098a\u0005\u01bb"+
30719 "\u0000\u0000\u098a\u098b\u0005\u031f\u0000\u0000\u098b\u098c\u0005\u021f"+
30720 "\u0000\u0000\u098c\u0994\u0005\u00f9\u0000\u0000\u098d\u098e\u0005\u013d"+
30721 "\u0000\u0000\u098e\u098f\u0005p\u0000\u0000\u098f\u0994\u0005\u01bb\u0000"+
30722 "\u0000\u0990\u0991\u0005\u031f\u0000\u0000\u0991\u0992\u0005\u021f\u0000"+
30723 "\u0000\u0992\u0994\u0005\u00f9\u0000\u0000\u0993\u0982\u0001\u0000\u0000"+
30724 "\u0000\u0993\u0986\u0001\u0000\u0000\u0000\u0993\u098d\u0001\u0000\u0000"+
30725 "\u0000\u0993\u0990\u0001\u0000\u0000\u0000\u0994\u019f\u0001\u0000\u0000"+
30726 "\u0000\u0995\u0997\u0005z\u0000\u0000\u0996\u0998\u0003\u0146\u00a3\u0000"+
30727 "\u0997\u0996\u0001\u0000\u0000\u0000\u0997\u0998\u0001\u0000\u0000\u0000"+
30728 "\u0998\u099a\u0001\u0000\u0000\u0000\u0999\u099b\u0003\u01a6\u00d3\u0000"+
30729 "\u099a\u0999\u0001\u0000\u0000\u0000\u099b\u099c\u0001\u0000\u0000\u0000"+
30730 "\u099c\u099a\u0001\u0000\u0000\u0000\u099c\u099d\u0001\u0000\u0000\u0000"+
30731 "\u099d\u099f\u0001\u0000\u0000\u0000\u099e\u09a0\u0003\u01a8\u00d4\u0000"+
30732 "\u099f\u099e\u0001\u0000\u0000\u0000\u099f\u09a0\u0001\u0000\u0000\u0000"+
30733 "\u09a0\u09a1\u0001\u0000\u0000\u0000\u09a1\u09a2\u0005\u00e5\u0000\u0000"+
30734 "\u09a2\u01a1\u0001\u0000\u0000\u0000\u09a3\u09a4\u0003\u0134\u009a\u0000"+
30735 "\u09a4\u01a3\u0001\u0000\u0000\u0000\u09a5\u09a6\u0005\u034f\u0000\u0000"+
30736 "\u09a6\u01a5\u0001\u0000\u0000\u0000\u09a7\u09a8\u0005\u031b\u0000\u0000"+
30737 "\u09a8\u09a9\u0003\u0134\u009a\u0000\u09a9\u09aa\u0005\u02dc\u0000\u0000"+
30738 "\u09aa\u09ab\u0003\u0134\u009a\u0000\u09ab\u01a7\u0001\u0000\u0000\u0000"+
30739 "\u09ac\u09ad\u0005\u00df\u0000\u0000\u09ad\u09ae\u0003\u0134\u009a\u0000"+
30740 "\u09ae\u01a9\u0001\u0000\u0000\u0000\u09af\u09b0\u0005\u0151\u0000\u0000"+
30741 "\u09b0\u09b1\u0003\u01ac\u00d6\u0000\u09b1\u01ab\u0001\u0000\u0000\u0000"+
30742 "\u09b2\u09b3\u0003\u0134\u009a\u0000\u09b3\u09b4\u0003\u01ae\u00d7\u0000"+
30743 "\u09b4\u01ad\u0001\u0000\u0000\u0000\u09b5\u09b6\u00071\u0000\u0000\u09b6"+
30744 "\u01af\u0001\u0000\u0000\u0000\u09b7\u09b8\u0005\u01f1\u0000\u0000\u09b8"+
30745 "\u09b9\u0005t\u0000\u0000\u09b9\u09be\u0003\u01b2\u00d9\u0000\u09ba\u09bb"+
30746 "\u0005$\u0000\u0000\u09bb\u09bd\u0003\u01b2\u00d9\u0000\u09bc\u09ba\u0001"+
30747 "\u0000\u0000\u0000\u09bd\u09c0\u0001\u0000\u0000\u0000\u09be\u09bc\u0001"+
30748 "\u0000\u0000\u0000\u09be\u09bf\u0001\u0000\u0000\u0000\u09bf\u01b1\u0001"+
30749 "\u0000\u0000\u0000\u09c0\u09be\u0001\u0000\u0000\u0000\u09c1\u09c4\u0003"+
30750 "\u009cN\u0000\u09c2\u09c4\u0003\u0134\u009a\u0000\u09c3\u09c1\u0001\u0000"+
30751 "\u0000\u0000\u09c3\u09c2\u0001\u0000\u0000\u0000\u09c4\u09c6\u0001\u0000"+
30752 "\u0000\u0000\u09c5\u09c7\u0003\u01d6\u00eb\u0000\u09c6\u09c5\u0001\u0000"+
30753 "\u0000\u0000\u09c6\u09c7\u0001\u0000\u0000\u0000\u09c7\u01b3\u0001\u0000"+
30754 "\u0000\u0000\u09c8\u09ca\u00072\u0000\u0000\u09c9\u09cb\u0003\u01da\u00ed"+
30755 "\u0000\u09ca\u09c9\u0001\u0000\u0000\u0000\u09ca\u09cb\u0001\u0000\u0000"+
30756 "\u0000\u09cb\u09cd\u0001\u0000\u0000\u0000\u09cc\u09ce\u0003\u01bc\u00de"+
30757 "\u0000\u09cd\u09cc\u0001\u0000\u0000\u0000\u09cd\u09ce\u0001\u0000\u0000"+
30758 "\u0000\u09ce\u0a5c\u0001\u0000\u0000\u0000\u09cf\u09d5\u0005\u0228\u0000"+
30759 "\u0000\u09d0\u09d2\u0005\u00d8\u0000\u0000\u09d1\u09d3\u0005\u0210\u0000"+
30760 "\u0000\u09d2\u09d1\u0001\u0000\u0000\u0000\u09d2\u09d3\u0001\u0000\u0000"+
30761 "\u0000\u09d3\u09d5\u0001\u0000\u0000\u0000\u09d4\u09cf\u0001\u0000\u0000"+
30762 "\u0000\u09d4\u09d0\u0001\u0000\u0000\u0000\u09d5\u09d7\u0001\u0000\u0000"+
30763 "\u0000\u09d6\u09d8\u0003\u01be\u00df\u0000\u09d7\u09d6\u0001\u0000\u0000"+
30764 "\u0000\u09d7\u09d8\u0001\u0000\u0000\u0000\u09d8\u09da\u0001\u0000\u0000"+
30765 "\u0000\u09d9\u09db\u0003\u01bc\u00de\u0000\u09da\u09d9\u0001\u0000\u0000"+
30766 "\u0000\u09da\u09db\u0001\u0000\u0000\u0000\u09db\u0a5c\u0001\u0000\u0000"+
30767 "\u0000\u09dc\u09df\u00073\u0000\u0000\u09dd\u09e0\u0003\u01da\u00ed\u0000"+
30768 "\u09de\u09e0\u0003\u01be\u00df\u0000\u09df\u09dd\u0001\u0000\u0000\u0000"+
30769 "\u09df\u09de\u0001\u0000\u0000\u0000\u09df\u09e0\u0001\u0000\u0000\u0000"+
30770 "\u09e0\u09e2\u0001\u0000\u0000\u0000\u09e1\u09e3\u0003\u01bc\u00de\u0000"+
30771 "\u09e2\u09e1\u0001\u0000\u0000\u0000\u09e2\u09e3\u0001\u0000\u0000\u0000"+
30772 "\u09e3\u0a5c\u0001\u0000\u0000\u0000\u09e4\u09e6\u0005l\u0000\u0000\u09e5"+
30773 "\u09e7\u0003\u01da\u00ed\u0000\u09e6\u09e5\u0001\u0000\u0000\u0000\u09e6"+
30774 "\u09e7\u0001\u0000\u0000\u0000\u09e7\u0a5c\u0001\u0000\u0000\u0000\u09e8"+
30775 "\u0a5c\u00074\u0000\u0000\u09e9\u09eb\u0005\u0080\u0000\u0000\u09ea\u09ec"+
30776 "\u0003\u01da\u00ed\u0000\u09eb\u09ea\u0001\u0000\u0000\u0000\u09eb\u09ec"+
30777 "\u0001\u0000\u0000\u0000\u09ec\u09ee\u0001\u0000\u0000\u0000\u09ed\u09ef"+
30778 "\u0003\u01c2\u00e1\u0000\u09ee\u09ed\u0001\u0000\u0000\u0000\u09ee\u09ef"+
30779 "\u0001\u0000\u0000\u0000\u09ef\u0a5c\u0001\u0000\u0000\u0000\u09f0\u09f3"+
30780 "\u0005\u01ca\u0000\u0000\u09f1\u09f3\u0005\u01c7\u0000\u0000\u09f2\u09f0"+
30781 "\u0001\u0000\u0000\u0000\u09f2\u09f1\u0001\u0000\u0000\u0000\u09f3\u09f5"+
30782 "\u0001\u0000\u0000\u0000\u09f4\u09f6\u0003\u01da\u00ed\u0000\u09f5\u09f4"+
30783 "\u0001\u0000\u0000\u0000\u09f5\u09f6\u0001\u0000\u0000\u0000\u09f6\u09f8"+
30784 "\u0001\u0000\u0000\u0000\u09f7\u09f9\u0005j\u0000\u0000\u09f8\u09f7\u0001"+
30785 "\u0000\u0000\u0000\u09f8\u09f9\u0001\u0000\u0000\u0000\u09f9\u0a5c\u0001"+
30786 "\u0000\u0000\u0000\u09fa\u0a5c\u0007-\u0000\u0000\u09fb\u09fd\u0005j\u0000"+
30787 "\u0000\u09fc\u09fe\u0003\u01da\u00ed\u0000\u09fd\u09fc\u0001\u0000\u0000"+
30788 "\u0000\u09fd\u09fe\u0001\u0000\u0000\u0000\u09fe\u0a5c\u0001\u0000\u0000"+
30789 "\u0000\u09ff\u0a03\u0005\u0081\u0000\u0000\u0a00\u0a03\u0005\u0083\u0000"+
30790 "\u0000\u0a01\u0a03\u0005\u030f\u0000\u0000\u0a02\u09ff\u0001\u0000\u0000"+
30791 "\u0000\u0a02\u0a00\u0001\u0000\u0000\u0000\u0a02\u0a01\u0001\u0000\u0000"+
30792 "\u0000\u0a03\u0a04\u0001\u0000\u0000\u0000\u0a04\u0a06\u0003\u01da\u00ed"+
30793 "\u0000\u0a05\u0a07\u0003\u01c2\u00e1\u0000\u0a06\u0a05\u0001\u0000\u0000"+
30794 "\u0000\u0a06\u0a07\u0001\u0000\u0000\u0000\u0a07\u0a5c\u0001\u0000\u0000"+
30795 "\u0000\u0a08\u0a09\u0005\u01c6\u0000\u0000\u0a09\u0a11\u0005\u030f\u0000"+
30796 "\u0000\u0a0a\u0a11\u0005\u01e0\u0000\u0000\u0a0b\u0a0c\u0005\u01ca\u0000"+
30797 "\u0000\u0a0c\u0a11\u0005\u030f\u0000\u0000\u0a0d\u0a11\u0005\u01c8\u0000"+
30798 "\u0000\u0a0e\u0a0f\u0005\u01ca\u0000\u0000\u0a0f\u0a11\u0005\u0312\u0000"+
30799 "\u0000\u0a10\u0a08\u0001\u0000\u0000\u0000\u0a10\u0a0a\u0001\u0000\u0000"+
30800 "\u0000\u0a10\u0a0b\u0001\u0000\u0000\u0000\u0a10\u0a0d\u0001\u0000\u0000"+
30801 "\u0000\u0a10\u0a0e\u0001\u0000\u0000\u0000\u0a11\u0a12\u0001\u0000\u0000"+
30802 "\u0000\u0a12\u0a14\u0003\u01da\u00ed\u0000\u0a13\u0a15\u0005j\u0000\u0000"+
30803 "\u0a14\u0a13\u0001\u0000\u0000\u0000\u0a14\u0a15\u0001\u0000\u0000\u0000"+
30804 "\u0a15\u0a5c\u0001\u0000\u0000\u0000\u0a16\u0a18\u0005\u030e\u0000\u0000"+
30805 "\u0a17\u0a19\u0003\u01da\u00ed\u0000\u0a18\u0a17\u0001\u0000\u0000\u0000"+
30806 "\u0a18\u0a19\u0001\u0000\u0000\u0000\u0a19\u0a5c\u0001\u0000\u0000\u0000"+
30807 "\u0a1a\u0a1c\u0005\u0329\u0000\u0000\u0a1b\u0a1d\u0003\u01da\u00ed\u0000"+
30808 "\u0a1c\u0a1b\u0001\u0000\u0000\u0000\u0a1c\u0a1d\u0001\u0000\u0000\u0000"+
30809 "\u0a1d\u0a1f\u0001\u0000\u0000\u0000\u0a1e\u0a20\u0003\u01bc\u00de\u0000"+
30810 "\u0a1f\u0a1e\u0001\u0000\u0000\u0000\u0a1f\u0a20\u0001\u0000\u0000\u0000"+
30811 "\u0a20\u0a5c\u0001\u0000\u0000\u0000\u0a21\u0a5c\u0005\u00b8\u0000\u0000"+
30812 "\u0a22\u0a24\u0005\u02df\u0000\u0000\u0a23\u0a25\u0003\u01c0\u00e0\u0000"+
30813 "\u0a24\u0a23\u0001\u0000\u0000\u0000\u0a24\u0a25\u0001\u0000\u0000\u0000"+
30814 "\u0a25\u0a5c\u0001\u0000\u0000\u0000\u0a26\u0a5c\u0007.\u0000\u0000\u0a27"+
30815 "\u0a29\u0005\u02e0\u0000\u0000\u0a28\u0a2a\u0003\u01c0\u00e0\u0000\u0a29"+
30816 "\u0a28\u0001\u0000\u0000\u0000\u0a29\u0a2a\u0001\u0000\u0000\u0000\u0a2a"+
30817 "\u0a5c\u0001\u0000\u0000\u0000\u0a2b\u0a2d\u0005\u00b9\u0000\u0000\u0a2c"+
30818 "\u0a2e\u0003\u01c0\u00e0\u0000\u0a2d\u0a2c\u0001\u0000\u0000\u0000\u0a2d"+
30819 "\u0a2e\u0001\u0000\u0000\u0000\u0a2e\u0a5c\u0001\u0000\u0000\u0000\u0a2f"+
30820 "\u0a5c\u0005\u02e3\u0000\u0000\u0a30\u0a32\u0005m\u0000\u0000\u0a31\u0a33"+
30821 "\u0003\u01da\u00ed\u0000\u0a32\u0a31\u0001\u0000\u0000\u0000\u0a32\u0a33"+
30822 "\u0001\u0000\u0000\u0000\u0a33\u0a5c\u0001\u0000\u0000\u0000\u0a34\u0a5c"+
30823 "\u00075\u0000\u0000\u0a35\u0a36\u0005\u0180\u0000\u0000\u0a36\u0a5c\u0005"+
30824 "\u030e\u0000\u0000\u0a37\u0a39\u00076\u0000\u0000\u0a38\u0a37\u0001\u0000"+
30825 "\u0000\u0000\u0a38\u0a39\u0001\u0000\u0000\u0000\u0a39\u0a3b\u0001\u0000"+
30826 "\u0000\u0000\u0a3a\u0a3c\u0003\u01c2\u00e1\u0000\u0a3b\u0a3a\u0001\u0000"+
30827 "\u0000\u0000\u0a3b\u0a3c\u0001\u0000\u0000\u0000\u0a3c\u0a5c\u0001\u0000"+
30828 "\u0000\u0000\u0a3d\u0a3f\u0005\u02e5\u0000\u0000\u0a3e\u0a40\u0003\u01c2"+
30829 "\u00e1\u0000\u0a3f\u0a3e\u0001\u0000\u0000\u0000\u0a3f\u0a40\u0001\u0000"+
30830 "\u0000\u0000\u0a40\u0a5c\u0001\u0000\u0000\u0000\u0a41\u0a43\u0005\u02da"+
30831 "\u0000\u0000\u0a42\u0a44\u0003\u01da\u00ed\u0000\u0a43\u0a42\u0001\u0000"+
30832 "\u0000\u0000\u0a43\u0a44\u0001\u0000\u0000\u0000\u0a44\u0a46\u0001\u0000"+
30833 "\u0000\u0000\u0a45\u0a47\u0003\u01c2\u00e1\u0000\u0a46\u0a45\u0001\u0000"+
30834 "\u0000\u0000\u0a46\u0a47\u0001\u0000\u0000\u0000\u0a47\u0a5c\u0001\u0000"+
30835 "\u0000\u0000\u0a48\u0a4a\u0005\u01ae\u0000\u0000\u0a49\u0a4b\u0003\u01c2"+
30836 "\u00e1\u0000\u0a4a\u0a49\u0001\u0000\u0000\u0000\u0a4a\u0a4b\u0001\u0000"+
30837 "\u0000\u0000\u0a4b\u0a5c\u0001\u0000\u0000\u0000\u0a4c\u0a4e\u0005\u0182"+
30838 "\u0000\u0000\u0a4d\u0a4f\u0003\u01c2\u00e1\u0000\u0a4e\u0a4d\u0001\u0000"+
30839 "\u0000\u0000\u0a4e\u0a4f\u0001\u0000\u0000\u0000\u0a4f\u0a5c\u0001\u0000"+
30840 "\u0000\u0000\u0a50\u0a51\u0005\u00eb\u0000\u0000\u0a51\u0a53\u0003\u01b6"+
30841 "\u00db\u0000\u0a52\u0a54\u0003\u01c2\u00e1\u0000\u0a53\u0a52\u0001\u0000"+
30842 "\u0000\u0000\u0a53\u0a54\u0001\u0000\u0000\u0000\u0a54\u0a5c\u0001\u0000"+
30843 "\u0000\u0000\u0a55\u0a56\u0005\u027d\u0000\u0000\u0a56\u0a58\u0003\u01b6"+
30844 "\u00db\u0000\u0a57\u0a59\u0003\u01c2\u00e1\u0000\u0a58\u0a57\u0001\u0000"+
30845 "\u0000\u0000\u0a58\u0a59\u0001\u0000\u0000\u0000\u0a59\u0a5c\u0001\u0000"+
30846 "\u0000\u0000\u0a5a\u0a5c\u00077\u0000\u0000\u0a5b\u09c8\u0001\u0000\u0000"+
30847 "\u0000\u0a5b\u09d4\u0001\u0000\u0000\u0000\u0a5b\u09dc\u0001\u0000\u0000"+
30848 "\u0000\u0a5b\u09e4\u0001\u0000\u0000\u0000\u0a5b\u09e8\u0001\u0000\u0000"+
30849 "\u0000\u0a5b\u09e9\u0001\u0000\u0000\u0000\u0a5b\u09f2\u0001\u0000\u0000"+
30850 "\u0000\u0a5b\u09fa\u0001\u0000\u0000\u0000\u0a5b\u09fb\u0001\u0000\u0000"+
30851 "\u0000\u0a5b\u0a02\u0001\u0000\u0000\u0000\u0a5b\u0a10\u0001\u0000\u0000"+
30852 "\u0000\u0a5b\u0a16\u0001\u0000\u0000\u0000\u0a5b\u0a1a\u0001\u0000\u0000"+
30853 "\u0000\u0a5b\u0a21\u0001\u0000\u0000\u0000\u0a5b\u0a22\u0001\u0000\u0000"+
30854 "\u0000\u0a5b\u0a26\u0001\u0000\u0000\u0000\u0a5b\u0a27\u0001\u0000\u0000"+
30855 "\u0000\u0a5b\u0a2b\u0001\u0000\u0000\u0000\u0a5b\u0a2f\u0001\u0000\u0000"+
30856 "\u0000\u0a5b\u0a30\u0001\u0000\u0000\u0000\u0a5b\u0a34\u0001\u0000\u0000"+
30857 "\u0000\u0a5b\u0a35\u0001\u0000\u0000\u0000\u0a5b\u0a38\u0001\u0000\u0000"+
30858 "\u0000\u0a5b\u0a3d\u0001\u0000\u0000\u0000\u0a5b\u0a41\u0001\u0000\u0000"+
30859 "\u0000\u0a5b\u0a48\u0001\u0000\u0000\u0000\u0a5b\u0a4c\u0001\u0000\u0000"+
30860 "\u0000\u0a5b\u0a50\u0001\u0000\u0000\u0000\u0a5b\u0a55\u0001\u0000\u0000"+
30861 "\u0000\u0a5b\u0a5a\u0001\u0000\u0000\u0000\u0a5c\u01b5\u0001\u0000\u0000"+
30862 "\u0000\u0a5d\u0a5e\u0005\u001e\u0000\u0000\u0a5e\u0a63\u0003\u01b8\u00dc"+
30863 "\u0000\u0a5f\u0a60\u0005$\u0000\u0000\u0a60\u0a62\u0003\u01b8\u00dc\u0000"+
30864 "\u0a61\u0a5f\u0001\u0000\u0000\u0000\u0a62\u0a65\u0001\u0000\u0000\u0000"+
30865 "\u0a63\u0a61\u0001\u0000\u0000\u0000\u0a63\u0a64\u0001\u0000\u0000\u0000"+
30866 "\u0a64\u0a66\u0001\u0000\u0000\u0000\u0a65\u0a63\u0001\u0000\u0000\u0000"+
30867 "\u0a66\u0a67\u0005\u001f\u0000\u0000\u0a67\u01b7\u0001\u0000\u0000\u0000"+
30868 "\u0a68\u0a6c\u0003\u0098L\u0000\u0a69\u0a6c\u0005\u0353\u0000\u0000\u0a6a"+
30869 "\u0a6c\u0005\u0354\u0000\u0000\u0a6b\u0a68\u0001\u0000\u0000\u0000\u0a6b"+
30870 "\u0a69\u0001\u0000\u0000\u0000\u0a6b\u0a6a\u0001\u0000\u0000\u0000\u0a6c"+
30871 "\u01b9\u0001\u0000\u0000\u0000\u0a6d\u0a70\u0003\u0098L\u0000\u0a6e\u0a70"+
30872 "\u0005\u0353\u0000\u0000\u0a6f\u0a6d\u0001\u0000\u0000\u0000\u0a6f\u0a6e"+
30873 "\u0001\u0000\u0000\u0000\u0a70\u01bb\u0001\u0000\u0000\u0000\u0a71\u0a73"+
30874 "\u00078\u0000\u0000\u0a72\u0a71\u0001\u0000\u0000\u0000\u0a73\u0a74\u0001"+
30875 "\u0000\u0000\u0000\u0a74\u0a72\u0001\u0000\u0000\u0000\u0a74\u0a75\u0001"+
30876 "\u0000\u0000\u0000\u0a75\u01bd\u0001\u0000\u0000\u0000\u0a76\u0a77\u0005"+
30877 "\u001e\u0000\u0000\u0a77\u0a78\u0005\u034f\u0000\u0000\u0a78\u0a79\u0005"+
30878 "$\u0000\u0000\u0a79\u0a7a\u0005\u034f\u0000\u0000\u0a7a\u0a7b\u0005\u001f"+
30879 "\u0000\u0000\u0a7b\u01bf\u0001\u0000\u0000\u0000\u0a7c\u0a7d\u0005\u001e"+
30880 "\u0000\u0000\u0a7d\u0a7e\u0005\u034f\u0000\u0000\u0a7e\u0a7f\u0005\u001f"+
30881 "\u0000\u0000\u0a7f\u01c1\u0001\u0000\u0000\u0000\u0a80\u0a8f\u0003\u01c4"+
30882 "\u00e2\u0000\u0a81\u0a8f\u0003\u01c6\u00e3\u0000\u0a82\u0a8f\u0005u\u0000"+
30883 "\u0000\u0a83\u0a84\u0003\u01c8\u00e4\u0000\u0a84\u0a86\u0003\u00d6k\u0000"+
30884 "\u0a85\u0a87\u0005j\u0000\u0000\u0a86\u0a85\u0001\u0000\u0000\u0000\u0a86"+
30885 "\u0a87\u0001\u0000\u0000\u0000\u0a87\u0a8f\u0001\u0000\u0000\u0000\u0a88"+
30886 "\u0a8c\u0005j\u0000\u0000\u0a89\u0a8a\u0003\u01c8\u00e4\u0000\u0a8a\u0a8b"+
30887 "\u0003\u00d6k\u0000\u0a8b\u0a8d\u0001\u0000\u0000\u0000\u0a8c\u0a89\u0001"+
30888 "\u0000\u0000\u0000\u0a8c\u0a8d\u0001\u0000\u0000\u0000\u0a8d\u0a8f\u0001"+
30889 "\u0000\u0000\u0000\u0a8e\u0a80\u0001\u0000\u0000\u0000\u0a8e\u0a81\u0001"+
30890 "\u0000\u0000\u0000\u0a8e\u0a82\u0001\u0000\u0000\u0000\u0a8e\u0a83\u0001"+
30891 "\u0000\u0000\u0000\u0a8e\u0a88\u0001\u0000\u0000\u0000\u0a8f\u01c3\u0001"+
30892 "\u0000\u0000\u0000\u0a90\u0a92\u0005[\u0000\u0000\u0a91\u0a93\u0005j\u0000"+
30893 "\u0000\u0a92\u0a91\u0001\u0000\u0000\u0000\u0a92\u0a93\u0001\u0000\u0000"+
30894 "\u0000\u0a93\u0a97\u0001\u0000\u0000\u0000\u0a94\u0a95\u0005j\u0000\u0000"+
30895 "\u0a95\u0a97\u0005[\u0000\u0000\u0a96\u0a90\u0001\u0000\u0000\u0000\u0a96"+
30896 "\u0a94\u0001\u0000\u0000\u0000\u0a97\u01c5\u0001\u0000\u0000\u0000\u0a98"+
30897 "\u0a9a\u0005\u02f6\u0000\u0000\u0a99\u0a9b\u0005j\u0000\u0000\u0a9a\u0a99"+
30898 "\u0001\u0000\u0000\u0000\u0a9a\u0a9b\u0001\u0000\u0000\u0000\u0a9b\u0a9f"+
30899 "\u0001\u0000\u0000\u0000\u0a9c\u0a9d\u0005j\u0000\u0000\u0a9d\u0a9f\u0005"+
30900 "\u02f6\u0000\u0000\u0a9e\u0a98\u0001\u0000\u0000\u0000\u0a9e\u0a9c\u0001"+
30901 "\u0000\u0000\u0000\u0a9f\u01c7\u0001\u0000\u0000\u0000\u0aa0\u0aa1\u0007"+
30902 "9\u0000\u0000\u0aa1\u0aa4\u0005\u027d\u0000\u0000\u0aa2\u0aa4\u0005\u0084"+
30903 "\u0000\u0000\u0aa3\u0aa0\u0001\u0000\u0000\u0000\u0aa3\u0aa2\u0001\u0000"+
30904 "\u0000\u0000\u0aa4\u01c9\u0001\u0000\u0000\u0000\u0aa5\u0aa7\u0005\u00c3"+
30905 "\u0000\u0000\u0aa6\u0aa5\u0001\u0000\u0000\u0000\u0aa6\u0aa7\u0001\u0000"+
30906 "\u0000\u0000\u0aa7\u0aa8\u0001\u0000\u0000\u0000\u0aa8\u0aaa\u0005\u008e"+
30907 "\u0000\u0000\u0aa9\u0aab\u0005\u0017\u0000\u0000\u0aaa\u0aa9\u0001\u0000"+
30908 "\u0000\u0000\u0aaa\u0aab\u0001\u0000\u0000\u0000\u0aab\u0aac\u0001\u0000"+
30909 "\u0000\u0000\u0aac\u0aad\u0003\u00a8T\u0000\u0aad\u01cb\u0001\u0000\u0000"+
30910 "\u0000\u0aae\u0ab0\u0005\u00c3\u0000\u0000\u0aaf\u0aae\u0001\u0000\u0000"+
30911 "\u0000\u0aaf\u0ab0\u0001\u0000\u0000\u0000\u0ab0\u0ab1\u0001\u0000\u0000"+
30912 "\u0000\u0ab1\u0ab3\u0005\u00e4\u0000\u0000\u0ab2\u0ab4\u0005\u0017\u0000"+
30913 "\u0000\u0ab3\u0ab2\u0001\u0000\u0000\u0000\u0ab3\u0ab4\u0001\u0000\u0000"+
30914 "\u0000\u0ab4\u0ab5\u0001\u0000\u0000\u0000\u0ab5\u0ab6\u0003\u0098L\u0000"+
30915 "\u0ab6\u01cd\u0001\u0000\u0000\u0000\u0ab7\u0ab9\u0005\u00c3\u0000\u0000"+
30916 "\u0ab8\u0ab7\u0001\u0000\u0000\u0000\u0ab8\u0ab9\u0001\u0000\u0000\u0000"+
30917 "\u0ab9\u0aba\u0001\u0000\u0000\u0000\u0aba\u0abc\u0003\u01c8\u00e4\u0000"+
30918 "\u0abb\u0abd\u0005\u0017\u0000\u0000\u0abc\u0abb\u0001\u0000\u0000\u0000"+
30919 "\u0abc\u0abd\u0001\u0000\u0000\u0000\u0abd\u0abe\u0001\u0000\u0000\u0000"+
30920 "\u0abe\u0abf\u0003\u00d6k\u0000\u0abf\u01cf\u0001\u0000\u0000\u0000\u0ac0"+
30921 "\u0ac6\u0007:\u0000\u0000\u0ac1\u0ac3\u0005\u001e\u0000\u0000\u0ac2\u0ac4"+
30922 "\u0005\u034f\u0000\u0000\u0ac3\u0ac2\u0001\u0000\u0000\u0000\u0ac3\u0ac4"+
30923 "\u0001\u0000\u0000\u0000\u0ac4\u0ac5\u0001\u0000\u0000\u0000\u0ac5\u0ac7"+
30924 "\u0005\u001f\u0000\u0000\u0ac6\u0ac1\u0001\u0000\u0000\u0000\u0ac6\u0ac7"+
30925 "\u0001\u0000\u0000\u0000\u0ac7\u01d1\u0001\u0000\u0000\u0000\u0ac8\u0ac9"+
30926 "\u0007;\u0000\u0000\u0ac9\u01d3\u0001\u0000\u0000\u0000\u0aca\u0acb\u0007"+
30927 "<\u0000\u0000\u0acb\u01d5\u0001\u0000\u0000\u0000\u0acc\u0acd\u0007=\u0000"+
30928 "\u0000\u0acd\u01d7\u0001\u0000\u0000\u0000\u0ace\u0acf\u0007\u0004\u0000"+
30929 "\u0000\u0acf\u01d9\u0001\u0000\u0000\u0000\u0ad0\u0ad1\u0005\u001e\u0000"+
30930 "\u0000\u0ad1\u0ad2\u0005\u034f\u0000\u0000\u0ad2\u0ad3\u0005\u001f\u0000"+
30931 "\u0000\u0ad3\u01db\u0001\u0000\u0000\u0000\u0ad4\u0ad5\u0003\u01c8\u00e4"+
30932 "\u0000\u0ad5\u0ad6\u0003\u00d6k\u0000\u0ad6\u01dd\u0001\u0000\u0000\u0000"+
30933 "\u0ad7\u0ada\u0005\u008e\u0000\u0000\u0ad8\u0adb\u0003\u00a8T\u0000\u0ad9"+
30934 "\u0adb\u0003\u0092I\u0000\u0ada\u0ad8\u0001\u0000\u0000\u0000\u0ada\u0ad9"+
30935 "\u0001\u0000\u0000\u0000\u0adb\u01df\u0001\u0000\u0000\u0000\u0adc\u0ae5"+
30936 "\u0005\u001e\u0000\u0000\u0add\u0ae2\u0003\u00aaU\u0000\u0ade\u0adf\u0005"+
30937 "$\u0000\u0000\u0adf\u0ae1\u0003\u00aaU\u0000\u0ae0\u0ade\u0001\u0000\u0000"+
30938 "\u0000\u0ae1\u0ae4\u0001\u0000\u0000\u0000\u0ae2\u0ae0\u0001\u0000\u0000"+
30939 "\u0000\u0ae2\u0ae3\u0001\u0000\u0000\u0000\u0ae3\u0ae6\u0001\u0000\u0000"+
30940 "\u0000\u0ae4\u0ae2\u0001\u0000\u0000\u0000\u0ae5\u0add\u0001\u0000\u0000"+
30941 "\u0000\u0ae5\u0ae6\u0001\u0000\u0000\u0000\u0ae6\u0ae7\u0001\u0000\u0000"+
30942 "\u0000\u0ae7\u0ae8\u0005\u001f\u0000\u0000\u0ae8\u01e1\u0001\u0000\u0000"+
30943 "\u0000\u0ae9\u0aea\u0005\u0139\u0000\u0000\u0aea\u0aeb\u0005\u01d6\u0000"+
30944 "\u0000\u0aeb\u0aec\u0005\u00f7\u0000\u0000\u0aec\u01e3\u0001\u0000\u0000"+
30945 "\u0000\u0aed\u0aee\u0005\u0139\u0000\u0000\u0aee\u0aef\u0005\u00f7\u0000"+
30946 "\u0000\u0aef\u01e5\u0001\u0000\u0000\u0000\u0af0\u0af1\u0005\u034f\u0000"+
30947 "\u0000\u0af1\u01e7\u0001\u0000\u0000\u0000\u0af2\u0af3\u0003\u00aaU\u0000"+
30948 "\u0af3\u01e9\u0001\u0000\u0000\u0000\u0af4\u0af5\u0003\u00aaU\u0000\u0af5"+
30949 "\u01eb\u0001\u0000\u0000\u0000\u0af6\u0af7\u0003\u00aaU\u0000\u0af7\u01ed"+
30950 "\u0001\u0000\u0000\u0000\u0af8\u0af9\u0007>\u0000\u0000\u0af9\u01ef\u0001"+
30951 "\u0000\u0000\u0000\u0afa\u0afb\u0007?\u0000\u0000\u0afb\u01f1\u0001\u0000"+
30952 "\u0000\u0000\u0afc\u0afd\u0005\u0110\u0000\u0000\u0afd\u0afe\u0005\u007f"+
30953 "\u0000\u0000\u0afe\u0aff\u0003\u0098L\u0000\u0aff\u01f3\u0001\u0000\u0000"+
30954 "\u0000\u015e\u01f8\u01fc\u01ff\u0202\u0207\u020b\u0210\u0213\u0216\u0219"+
30955 "\u021d\u0220\u0228\u022c\u022f\u0236\u023b\u0242\u0247\u024b\u024e\u0254"+
30956 "\u025f\u0265\u026d\u0273\u027a\u027d\u0280\u0283\u0286\u028d\u0295\u029e"+
30957 "\u02a5\u02aa\u02b3\u02b6\u02b9\u02bc\u02bf\u02c2\u02c5\u02ca\u02cd\u02d0"+
30958 "\u02db\u02df\u02e3\u02ec\u02f2\u02f5\u02f9\u02fc\u02ff\u0306\u030c\u0311"+
30959 "\u0315\u0319\u031d\u031f\u0325\u0327\u032e\u0334\u0339\u033c\u033f\u0342"+
30960 "\u0345\u0348\u0357\u035c\u0363\u036b\u0378\u037e\u0384\u0389\u038c\u038f"+
30961 "\u0396\u039e\u03a5\u03ac\u03b5\u03ba\u03bf\u03c2\u03c5\u03c8\u03cc\u03d3"+
30962 "\u03d9\u03e2\u03ec\u03f7\u03f9\u0401\u0409\u0412\u0415\u0419\u041d\u0423"+
30963 "\u0429\u042c\u0435\u0441\u0446\u044f\u0456\u045a\u045e\u0466\u0475\u047b"+
30964 "\u0483\u048b\u0497\u049d\u049f\u04a5\u04a7\u04a9\u04ae\u04b1\u04b7\u04bc"+
30965 "\u04c3\u04ca\u04d1\u04df\u04e4\u04e8\u04eb\u04f3\u04f7\u04fa\u04fe\u0506"+
30966 "\u0512\u0521\u0527\u052c\u0532\u053b\u0542\u0550\u0559\u055e\u0563\u0565"+
30967 "\u0572\u057e\u0584\u058b\u0597\u05a9\u05ab\u05ad\u05b2\u05b8\u05ba\u05bf"+
30968 "\u05ca\u05d1\u05d8\u05e7\u05ef\u05f7\u0613\u061a\u061e\u0625\u062d\u0636"+
30969 "\u063b\u0647\u0654\u0656\u0665\u067f\u0681\u068a\u0691\u069a\u06a1\u06af"+
30970 "\u06b5\u06b9\u06bf\u06ee\u06f0\u06fe\u0702\u070a\u0710\u071f\u0722\u0727"+
30971 "\u072e\u0730\u0739\u0741\u0745\u074c\u0754\u0759\u0760\u0763\u076a\u0771"+
30972 "\u0775\u0778\u077c\u0785\u078c\u078f\u0793\u07b5\u07be\u07c2\u07cb\u07ce"+
30973 "\u07d1\u07d4\u07db\u07e9\u07fe\u0803\u0808\u080f\u0813\u0816\u081a\u082a"+
30974 "\u082e\u0837\u0843\u0846\u084a\u084f\u0855\u0861\u086b\u0879\u087d\u088d"+
30975 "\u0891\u0895\u0898\u089c\u089f\u08a6\u08aa\u08af\u08b7\u08b9\u08c9\u08d4"+
30976 "\u08d8\u08e8\u08ed\u08f5\u08f8\u0902\u0907\u0913\u0916\u0920\u0926\u092a"+
30977 "\u092d\u0931\u0937\u093a\u0940\u0949\u094d\u0970\u0978\u097e\u0993\u0997"+
30978 "\u099c\u099f\u09be\u09c3\u09c6\u09ca\u09cd\u09d2\u09d4\u09d7\u09da\u09df"+
30979 "\u09e2\u09e6\u09eb\u09ee\u09f2\u09f5\u09f8\u09fd\u0a02\u0a06\u0a10\u0a14"+
30980 "\u0a18\u0a1c\u0a1f\u0a24\u0a29\u0a2d\u0a32\u0a38\u0a3b\u0a3f\u0a43\u0a46"+
30981 "\u0a4a\u0a4e\u0a53\u0a58\u0a5b\u0a63\u0a6b\u0a6f\u0a74\u0a86\u0a8c\u0a8e"+
30982 "\u0a92\u0a96\u0a9a\u0a9e\u0aa3\u0aa6\u0aaa\u0aaf\u0ab3\u0ab8\u0abc\u0ac3"+
30983 "\u0ac6\u0ada\u0ae2\u0ae5";
30984 public static final String _serializedATN = Utils.join(
30985 new String[] {
30986 _serializedATNSegment0,
30987 _serializedATNSegment1
30988 },
30989 ""
30990 );
30991 public static final ATN _ATN =
30992 new ATNDeserializer().deserialize(_serializedATN.toCharArray());
30993 static {
30994 _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
30995 for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
30996 _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
30997 }
30998 }
30999 }